Leon Timmermans > Scalar-Induce-0.04 > Scalar::Induce

Download:
Scalar-Induce-0.04.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.04   Source   Latest Release: Scalar-Induce-0.05

NAME ^

Scalar::Induce - Unfolding scalars

VERSION ^

version 0.04

SYNOPSIS ^

        my @reversed = induce { @$_ ? pop @$_ : void undef $_ } [ 1 .. 10 ];

        my @chunks = induce { (length) ? substr $_, 0, 3, '' : void undef $_ } "foobarbaz";

FUNCTIONS ^

All functions are exported by default.

induce

This function takes a block and a scalar as arguments and then repeatedly applies the block to the value, accumulating the return values to eventually return them as a list. It does the opposite of reduce, hence its name. It's called unfold in some other languages.

void

This is a utility function that always returns an empty list (or undefined in scalar context). This makes a lot of inductions simpler.

ACKNOWLEDGEMENTS ^

Aristotle Pagaltzis came up with this idea (http://use.perl.org/~Aristotle/journal/37831). Leon Timmermans re-implemented it in XS and uploaded it to CPAN.

AUTHOR ^

Leon Timmermans <leont@cpan.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2009 by Leon Timmermans.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: