Eric Strom > Perl6-Feeds-0.20 > Perl6::Feeds

Download:
Perl6-Feeds-0.20.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.20   Source  

NAME ^

Perl6::Feeds - implements perl6 feed operators in perl5 via source filtering

VERSION ^

version 0.20

requires perl version 5.9.5 or higher

this code is currently in beta, bug reports welcome

SYNOPSIS ^

feed operators allow you to write expressions that flow left to right and top down, rather than the right to left, bottom up order imposed by function nesting.

    use Perl6::Feeds;

    1..10 ==> map {$_**2} ==> grep {$_>10} ==> join " " ==> print;
    # is the same as
    print join " " => grep {$_>10} map {$_**2} 1..10;

    1 .. 3000
        ==> map [$_, $_ ** 2 ]
        ==> grep {$$_[1] =~ s/(([^0])\2{3,})/ ($1) /g}
        ==> our @list                             # assignments start with /my|our|local|[$@%&*]/
        ==> map {@$_ ==> map "[$_]"               # nesting is fine
                     ==> join '^2 ==> '}          # strings are safe
        ==>>> 'found '.@list.' numbers: '         # appends a list
        ==>>< "\nnumbers with squares that ".     # prepends a list
             "have non zero runs of 4+ digits:\n" #   both of these are not in the perl6 spec
        ==>  join ("\n")                          # closed argument lists are adjusted
        ==>>> (@list ==> map $$_[0] ==> join ' ')
      =====> print;                               # feed arrows match /==+>[<>]?/

SYNTAX ^

    1 .. 10 ==> join ", " ==> print;  # print join ", " => 1 .. 10;

    1 .. 10 ==> my @a;                # my @a = 1 .. 10;

    20 .. 30 ==>> @a;                 # push @a, 20 .. 30;

    @a ==>>> "appended" ==> print;    # print @a, "appended";

    @a ==>>< "prepended" ==> print;   # print "prepended", @a;

AUTHOR ^

Eric Strom, <ejstrom at gmail.com>

BUGS ^

currently, only left to right feeds are supported, and there may be a few corner cases that the filter will fail on.

bug reports or patches welcome, send them to bug-perl6-feeds at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Perl6-Feeds. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

ACKNOWLEDGEMENTS ^

the perl6 synopsi

COPYRIGHT & LICENSE ^

copyright 2009 Eric Strom.

this program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

see http://dev.perl.org/licenses/ for more information.

syntax highlighting: