Data-Object-Args
view release on metacpan or search on metacpan
# NAME
Data::Object::Args - Args Class
# ABSTRACT
Args Class for Perl 5
# SYNOPSIS
package main;
use Data::Object::Args;
local @ARGV = qw(--help execute);
my $args = Data::Object::Args->new(
named => { flag => 0, command => 1 }
);
# $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]
# DESCRIPTION
This package provides methods for accessing `@ARGS` items.
# INTEGRATES
This package integrates behaviors from:
[Data::Object::Role::Buildable](https://metacpan.org/pod/Data::Object::Role::Buildable)
[Data::Object::Role::Proxyable](https://metacpan.org/pod/Data::Object::Role::Proxyable)
[Data::Object::Role::Stashable](https://metacpan.org/pod/Data::Object::Role::Stashable)
# LIBRARIES
This package uses type constraints from:
[Types::Standard](https://metacpan.org/pod/Types::Standard)
# ATTRIBUTES
This package has the following attributes:
## named
named(HashRef)
This attribute is read-only, accepts `(HashRef)` values, and is optional.
# METHODS
This package implements the following methods:
## exists
exists(Str $key) : Any
The exists method takes a name or index and returns truthy if an associated
value exists.
- exists example #1
# given: synopsis
$args->exists(0); # truthy
value exists.
- name example #1
# given: synopsis
$args->name('flag'); # 0
## set
set(Str $key, Maybe[Any] $value) : Any
The set method takes a name or index and sets the value provided if the
associated argument exists.
- set example #1
# given: synopsis
$args->set(0, '-?'); # -?
- set example #2
# given: synopsis
$args->set('flag', '-?'); # -?
- set example #3
# given: synopsis
$args->set('verbose', 1); # undef
# is not set
## stashed
stashed() : HashRef
The stashed method returns the stashed data associated with the object.
- stashed example #1
# given: synopsis
$args->stashed
## unnamed
unnamed() : ArrayRef
The unnamed method returns an arrayref of values which have not been named
using the `named` attribute.
- unnamed example #1
package main;
use Data::Object::Args;
local @ARGV = qw(--help execute --format markdown);
my $args = Data::Object::Args->new(
named => { flag => 0, command => 1 }
);
$args->unnamed # ['--format', 'markdown']
- unnamed example #2
package main;
use Data::Object::Args;
local @ARGV = qw(execute phase-1 --format markdown);
my $args = Data::Object::Args->new(
named => { command => 1 }
);
$args->unnamed # ['execute', '--format', 'markdown']
# AUTHOR
Al Newkirk, `awncorp@cpan.org`
# LICENSE
Copyright (C) 2011-2019, Al Newkirk, et al.
This is free software; you can redistribute it and/or modify it under the terms
of the The Apache License, Version 2.0, as elucidated in the ["license
file"](https://github.com/iamalnewkirk/data-object-args/blob/master/LICENSE).
# PROJECT
[Wiki](https://github.com/iamalnewkirk/data-object-args/wiki)
[Project](https://github.com/iamalnewkirk/data-object-args)
[Initiatives](https://github.com/iamalnewkirk/data-object-args/projects)
[Milestones](https://github.com/iamalnewkirk/data-object-args/milestones)
[Contributing](https://github.com/iamalnewkirk/data-object-args/blob/master/CONTRIBUTE.md)
[Issues](https://github.com/iamalnewkirk/data-object-args/issues)
( run in 0.617 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )