Ricardo SIGNES 😄


Querylet::Input - generic input handler for Querlet::Query


version 0.324


This is an abstract base class, meant for subclassing.

 package Querylet::Input::Term;
 use base qw(Querylet::Input);

 sub default_type { 'term' }
 sub handler      { \&from_term }  

 sub from_term {
   my ($query, $parameter) = @_;

   print "$parameter: ";
   my $input = <STDIN>;
   chomp $input;
   $query->{input}->{$parameter} = $input;


Then, in a querylet:

 use Querylet::Input::Term

 query: SELECT * FROM users WHERE userid = ?
 input: userid

Or, to override the registered type:

 use Querylet::Input::Term 'stdin';

 output format: stdin


This class provides a simple way to write input handlers for Querylet, mostly by providing an import routine that will register the handler with the type-name requested by the using script.

The methods default_type and handler must exist, as described below.


Querylet::Input provides an import method that will register the handler when the module is imported. If an argument is given, it will be used as the type name to register. Otherwise, the result of default_type is used.



This method returns the name of the type for which the input handler will be registered if no override is given.


This method returns a reference to the handler, which will be used to register the handler.


Ricardo SIGNES, <rjbs@cpan.org>


Please report any bugs or feature requests to bug-querylet@rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


Copyright 2004 Ricardo SIGNES, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.