Venus::Args - Args Class
Args Class for Perl 5
package main; use Venus::Args; my $args = Venus::Args->new( named => { flag => 0, command => 1 }, # optional value => ['--help', 'execute'], ); # $args->flag; # $ARGV[0] # $args->get(0); # $ARGV[0] # $args->get(1); # $ARGV[1] # $args->action; # $ARGV[1] # $args->exists(0); # exists $ARGV[0] # $args->exists('flag'); # exists $ARGV[0] # $args->get('flag'); # $ARGV[0]
This package provides methods for accessing @ARGS items.
@ARGS
This package has the following attributes:
named(HashRef)
This attribute is read-write, accepts (HashRef) values, is optional, and defaults to {}.
(HashRef)
{}
This package inherits behaviors from:
Venus::Kind::Utility
This package integrates behaviors from:
Venus::Role::Accessible
Venus::Role::Buildable
Venus::Role::Proxyable
Venus::Role::Valuable
This package provides the following methods:
default() (arrayref)
The default method returns the default value, i.e. @ARGV.
@ARGV
Since 0.01
0.01
# given: synopsis; my $default = $args->default; # [@ARGV] # ["--help", "execute"]
exists(string $key) (boolean)
The exists method returns truthy or falsy if an index or alias value exists.
# given: synopsis; my $exists = $args->exists(0); # 1
# given: synopsis; my $exists = $args->exists('flag'); # 1
# given: synopsis; my $exists = $args->exists(2); # undef
get(string $key) (any)
The get method returns the value of the index or alias.
# given: synopsis; my $get = $args->get(0); # "--help"
# given: synopsis; my $get = $args->get('flag'); # "--help"
# given: synopsis; my $get = $args->get(2); # undef
indexed() (hashref)
The indexed method returns a set of indices and values.
# given: synopsis; my $indexed = $args->indexed; # { "0" => "--help", "1" => "execute" }
name(string $key) (string | undef)
The name method resolves and returns the index for an index or alias, and returns undefined if not found.
# given: synopsis; my $name = $args->name('flag');
set(string $key, any $data) (any)
The set method sets and returns the value of an index or alias.
# given: synopsis; my $set = $args->set(0, '-?'); # "-?"
# given: synopsis; my $set = $args->set('flag', '-?'); # "-?"
# given: synopsis; my $set = $args->set('verbose', 1); # undef
unnamed() (arrayref)
The unnamed method returns a list of unaliases indices.
package main; use Venus::Args; my $args = Venus::Args->new( named => { flag => 0, command => 1 }, value => ['--help', 'execute', '--format', 'markdown'], ); my $unnamed = $args->unnamed; # ["--format", "markdown"]
package main; use Venus::Args; my $args = Venus::Args->new( named => { command => 1 }, value => ['execute', 'phase-1', '--format', 'markdown'], ); my $unnamed = $args->unnamed; # ["execute", "--format", "markdown"]
Awncorp, awncorp@cpan.org
awncorp@cpan.org
Copyright (C) 2000, Awncorp, awncorp@cpan.org.
This program is free software, you can redistribute it and/or modify it under the terms of the Apache license version 2.0.
To install Venus, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Venus
CPAN shell
perl -MCPAN -e shell install Venus
For more information on module installation, please visit the detailed CPAN module installation guide.