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

NAME

Eve::Support - an utility class that houses various helper functions

SYNOPSIS

    use Eve::Support;

    Eve::Support::arguments(\%arg_hash,
        my $required_argument, my $optional_argument = 'default value'
    );

SUBROUTINES

arguments()

The arguments() method makes it easier to specify a list of required and optional arguments in any other method. It can be used in both class method calls and usual subroutine calls.

Here is an example in a usual subroutine:

    sub usual_subroutine {
        my (%arg_hash) = @_;
        Eve::Support::arguments(\%arg_hash,
            my ($required_argument, $another_required_argument),
            my ($optional_argument, $optional_empty_argument) = (1, \undef)
        );
    }

The same may be done in a class method call:

    sub class_method {
        my ($self, %arg_hash) = @_;
        Eve::Support::arguments(\%arg_hash,
            my ($required_argument, $another_required_argument),
            my ($optional_argument, $optional_empty_argument)
                = ('default', \undef)
        );
    }

If the function is called in the RVALUE context it skips the redundancy check and returns the rest of arguments that have not been processed as a hash reference.

    sub foo {
        my (%arg_hash) = @_;
        my $rest_hash = Eve::Support::arguments(
            \%arg_hash, my $bar);

        return $rest_hash;
    }

Here the call foo(bar = 1, baz => 2, bad => 3)> will return the hash {'baz' = 2, 'bad' => 3}>.

Arguments

\%arg_hash

A reference to a hash of arguments that has been passed into the current method.

@variable_list

A list of variables that have to be filled by values from the incoming \%arg_hash.

Throws

Eve::Error::Attribute

could not get a variable for a named argument, an argument is required or an argument is redundant.

unique()

Arguments

list

Returns

A list containing only unique elements of the passed list.

open()

Arguments

mode
file

Returns

A filehandle.

Throws

Eve::Exception::InputOutput

in case of a file open error.

indexed_hash()

Arguments

Key-value pair list.

Returns

A hash tied to Tie::IxHash.

trim()

Arguments

A string.

Returns

Trimmed string.

Throws

Eve::Exception::Value

if the triming value is undefined.

SEE ALSO

Eve::Exception

LICENSE AND COPYRIGHT

Copyright 2012 Igor Zinovyev.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

AUTHOR

Sergey Konoplev