Ваня, привет. Такой итератор подойдет? :))

use strict;use warnings;
{
    package MyFnIter;
    sub OPEN {
        my ($obj, $fh) = @_;
        $obj->{data} = $fh;
    }
    sub PUSHED {
        my ($class) = @_;
        bless {}, $class;
    }
    sub FILL {
        my ($obj, $fh) = @_;
        if(defined($obj->{buf})) {
            undef $obj->{buf};
            return;
        }
        else{
            $obj->{buf} = ($_[0]{data})->();
            return $obj->{buf};
        }
    }}
my $fn = sub { rand };
open my $iter, "<:via(MyFnIter)", $fn;
while(my $val = <$iter>) {
    print "$val\n";}


2 февраля 2016 г., 23:13 пользователь Evgeniy Vansevich <[email protected]>
написал:

>  зачем?.. Потом ищи-свищи какой умник коде переопределил readline.
> Раскалённой кочергой за это надо
>
> 02.02.2016, 23:00, "Mons Anderson" <[email protected]>:
>
> <$var> - это readline
>
> BEGIN{
>     *CORE::GLOBAL::readline = sub { ... };
> }
>
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить