NAME

Scalar::Induce - Unfolding scalars

VERSION

Version 0.01

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.

AUTHORS

Leon Timmermans, <leont at cpan.org>, Aristotle Pagaltzis pagaltzis at gmx.de

BUGS

Please report any bugs or feature requests to bug-scalar-induce at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Scalar-Induce. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Scalar::Induce

You can also look for information at:

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

COPYRIGHT & LICENSE

Copyright 2009 Leon Timmermans & Aristotle Pagaltzis, all rights reserved.

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