Class::Param - Param Class


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

the Class::Param::Base manpage.

the Class::Param::Callback manpage.

the Class::Param::Compound manpage.

the Class::Param::Decorator manpage.

the Class::Param::Encoding manpage.

the Class::Param::Ordered manpage.

the Class::Param::Tie manpage.


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.