|
Data::Iter - easily iterate over a hash/array |
Data::Iter - easily iterate over a hash/array
use Data::Iter qw(:all);
my @days = qw/Mon Tue Wnd Thr Fr Su So/;
foreach ( iter \@days )
{
printf "Day: %s [%s]\n", VALUE, counter;
}
foreach my $i ( iter \@days )
{
printf "Day: %s [%s]\n", $i->VALUE, $i->counter;
}
my %numbers = ( 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four' );
foreach ( iter \%numbers )
{
printf "%10s [%10s] %10d\n", key, value, counter;
}
foreach my $i ( iter \%numbers )
{
printf "%10s [%10s] %10d\n", $i->key, $i->value, $i->counter;
}
foreach ( iter \%numbers )
{
printf "%10s [%10s] %10d\n", KEY, VALUE, COUNTER;
}
Data::Iter provides functions for comfortably iterating over perl data structures.
Accepts a reference to an ARRAY or HASH. Returns a sorted list of 'Data::Iter' objects.
key() or KEY()Returns the current key (HASHs only).
value() or VALUE()Returns the current value.
counter()Returns the current counter (starting at 0).
Returns the value at index. It behaves like an array index.
Returns the Data::Iter object at index. It behaves like an array index.
CAVE: Future variables are read-only ! It is the common ``foreach( @something ) not change during iteration through it'' story.
Example:
get(-1) will return the last iterator object.
get(-1)->value will return the position of the last
get(-1)->value will return the value of the last
get(1+counter) will return the next object
Not get(counter+1), but get(1+counter) will function correctly (under perl 5.6.0).
And get(counter - 1) does not work.
=head2 EXPORT
none by default.
all: iter counter counter value VALUE key KEY get
M. Ünalan, <muenalan@cpan.org>
the Class::Iter manpage, the Tie::Array::Iterable manpage, the Object::Data::Iterate manpage
|
Data::Iter - easily iterate over a hash/array |