NAME Class::Param - Param Class SYNOPSIS use Class::Param; use Class::Param::Encoding; use Class::Param::Tie; $param = Class::Param->new( { smiley => "\xE2\x98\xBA" } ); $param = Class::Param::Encoding->new( $param, 'UTF-8' ); if ( $param->get('smiley') eq "\x{263A}" ) { # true } $param = Class::Param::Tie->new($param); if ( $param->{smiley} eq "\x{263A}" ) { # true } # .. package MyClass; sub param { my $self = shift; my $param = $self->{param} ||= Class::Param->new; if ( @_ == 0 && ! wantarray ) { return $param; } else { return $param->param(@_); } } # Somewhere else $object = MyClass->new; @names = $object->param; @names = $object->param->names; $value = $object->param('name'); $value = $object->param->get('name'); DESCRIPTION Provides several classes to work with CGI.pm style params. METHODS new $param = Class::Param->new; $param = Class::Param->new( \%params ); param # get @names = $param->param; $value = $param->param($name); @values = $param->param($name); # set $param->param( $name => $value ); $param->param( $name => @values ); # remove $param->param( $name => undef ); get $value = $param->get($name); set $param->set( $name => $value ); add $param->add( $name => $value ); $param->add( $name => @values ); Append value to name. has $boolean = $param->has($name); Returns true if param has name. count $count = $param->count; Returns the number of total params. names @names = $param->names; Returns a list of all names in param. clear $param->clear; Clears all params. remove $removed = $param->remove($name); Remove name from param. Returns the removed value. scan $param->scan( sub { my ( $name, @values ) = @_; }); Applies a callback which will be called for each param. as_hash %hash = $param->as_hash; $hash = $param->as_hash; Returns params as a hash. SEE ASLO Class::Param::Base. Class::Param::Callback. Class::Param::Compound. Class::Param::Decorator. Class::Param::Encoding. Class::Param::Ordered. Class::Param::Tie. AUTHOR Christian Hansen "chansen@cpan.org" COPYRIGHT This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.