| Class-Param documentation | Contained in the Class-Param distribution. |
Class::Param - Param Class
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');
Provides several classes to work with CGI.pm style params.
$param = Class::Param->new;
$param = Class::Param->new( \%params );
# 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 );
$value = $param->get($name);
$param->set( $name => $value );
$param->add( $name => $value );
$param->add( $name => @values );
Append value to name.
$boolean = $param->has($name);
Returns true if param has name.
$count = $param->count;
Returns the number of total params.
@names = $param->names;
Returns a list of all names in param.
$param->clear;
Clears all params.
$removed = $param->remove($name);
Remove name from param. Returns the removed value.
$param->scan( sub {
my ( $name, @values ) = @_;
});
Applies a callback which will be called for each param.
%hash = $param->as_hash;
$hash = $param->as_hash;
Returns params as a hash.
Christian Hansen chansen@cpan.org
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
| Class-Param documentation | Contained in the Class-Param distribution. |
package Class::Param; use strict; use warnings; use base 'Class::Param::Base'; our $VERSION = 0.1; use Params::Validate qw[]; sub new { my $class = ref $_[0] ? ref shift : shift; my ( $hash ) = Params::Validate::validate_with( params => \@_, spec => [ { type => Params::Validate::HASHREF, default => {}, optional => 1 } ], called => "$class\::new" ); return bless( \$hash, $class ); } sub get { my ( $self, $name ) = @_; return $$self->{$name}; } sub set { my ( $self, $name, $value ) = @_; $$self->{$name} = $value; return 1; } sub has { my ( $self, $name ) = @_; return exists $$self->{$name}; } sub count { my $self = shift; return scalar keys %{ $$self }; } sub clear { my $self = shift; %{ $$self } = (); return 1; } sub remove { my ( $self, $name ) = @_; return delete $$self->{$name}; } sub names { my $self = shift; return keys %{ $$self }; } 1; __END__