in reply to Ubiquity of the CGI param method
I'm not sure there's any information on building such a thing - but actually doing so wouldn't be too hard.
This is just a quickie I knocked up to test the idea. You could probably make it all objecty, and moosey if you preferred:
package Object::Holder; use strict; use warnings; =head1 NAME Object::Holder - A module for working with parameters. =head1 SYNOPSIS =for example begin #!/usr/bin/perl -w use Object::Holder use strict; my $helper = Object::Holder->new( foo => "bar", bar => "baz" ); my @keys = $helper->param(); my $bar = $helper->param( "bar" ); =for example end =cut sub new { my ( $proto, %supplied ) = (@_); my $class = ref($proto) || $proto; my $self = {}; $self->{ "data" } = {}; # # Store the supplied key=>val pairs in our data section. # foreach my $key ( keys %supplied ) { $self->{ "data" }->{ lc $key } = $supplied{ $key }; } bless( $self, $class ); return $self; } sub param { my ( $self, $param ) = (@_); if ($param) { # return the value of the named param. return ( $self->{ "data" }->{ $param } ); } else { # return all the param names. return ( keys %{ $self->{ "data" } } ); } } 1; package main; my $o = Object::Holder->new( foo => "foo", steve => "kemp " ); # # Get all # my @params = $o->param(); foreach my $param (@params) { # # Get single # print "READ: $param -> " . $o->param($param) . "\n"; }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Ubiquity of the CGI param method
by jwark (Novice) on Aug 11, 2010 at 12:29 UTC | |
by jaldhar (Vicar) on Aug 12, 2010 at 06:30 UTC | |
by jaldhar (Vicar) on Aug 13, 2010 at 06:12 UTC | |
by skx (Parson) on Aug 13, 2010 at 10:37 UTC | |
by Anonymous Monk on Aug 16, 2010 at 18:06 UTC |
In Section
Seekers of Perl Wisdom