The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.