John Drago > Iterator-Array-Jagged-0.02 > Iterator::Array::Jagged

Download:
Iterator-Array-Jagged-0.02.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 0.02   Source   Latest Release: Iterator-Array-Jagged-0.05

NAME ^

Iterator::Array::Jagged - Iterate through multiple jagged arrays

SYNOPSIS ^

        use Iterator::Array::Jagged;
        
        # Build up a set of data:
        my @data = ();
        for my $var ( 1...3 )
        {
                my @set = ();
                for my $val ( 1...2 )
                {
                        push @set, "var_$var=val_$val";
                }# end for()
                push @data, \@set;
        }# end for()
        
        my $iterator = Iterator::Array::Jagged->new( data => \@data );
        while( my @set = $iterator->next )
        {
                print "Next set: '" . join("&", @set) . "'\n";
        }# end while()

The above code prints the following:

        Next set: 'var1=val1&var2=val1&var3=val1'
        Next set: 'var1=val2&var2=val1&var3=val1'
        Next set: 'var1=val1&var2=val2&var3=val1'
        Next set: 'var1=val2&var2=val2&var3=val1'
        Next set: 'var1=val1&var2=val1&var3=val2'
        Next set: 'var1=val2&var2=val1&var3=val2'
        Next set: 'var1=val1&var2=val2&var3=val2'
        Next set: 'var1=val2&var2=val2&var3=val2'

DESCRIPTION ^

Iterator::Array::Jagged can permute through sets of "jagged" arrays - arrays of varying lengths.

Iterator::Array::Jagged works much like the odometer in an automobile. Except that each set of "numbers" can have any kind of data you want, and each set can contain 1 or more elements.

METHODS ^

new( %args )

Constructor. %args should included the element data which contains the arrayref of arrayrefs that you wish to iterate through.

next( )

Returns an array representing the next iteration of the permutation of your data set. See the synopsis for an example.

BUGS ^

It's possible that some bugs have found their way into this release.

Use RT http://rt.cpan.org/NoAuth/Bugs.html?Dist=Iterator-Array-Jagged to submit bug reports.

AUTHOR ^

John Drago mailto:jdrago_999@yahoo.com

COPYRIGHT AND LICENSE ^

Copyright 2007 John Drago, All rights reserved.

This software is free software. It may be used and distributed under the same terms as Perl itself.