NAME

Iter - easily iterate over a hash/array

SYNOPSIS

use 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;
}

DESCRIPTION

Iter provides functions for comfortably iterating over perl data structures.

iter

Accepts a reference to an ARRAY or HASH. Returns a sorted list of '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).

getvalue( index )

Returns the value at index. It behaves like an array index.

get( index )

Returns the 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

BUGS

Not get(counter+1), but get(1+counter) will function correctly (under perl 5.6.0).

And get(counter - 1) does not work.

EXPORT

none by default.

all: iter counter value VALUE key KEY get

AUTHOR

M. Ünalan, <muenalan@cpan.org>

SEE ALSO

Class::Iter, Tie::Array::Iterable, Object::Iterate

1 POD Error

The following errors were encountered while parsing the POD:

Around line 221:

Non-ASCII character seen before =encoding in 'Ünalan,'. Assuming CP1252