ETL-Yertl

 view release on metacpan or  search on metacpan

lib/ETL/Yertl/LineStream.pm  view on Meta::CPAN

    my ( $self, %args ) = @_;
    if ( $args{autoflush} && $args{write_handle} ) {
        my $flags = fcntl( $args{write_handle}, F_GETFL, 0 );
        fcntl( $args{write_handle}, F_SETFL, $flags | O_NONBLOCK );
    }
    $self->SUPER::configure( %args );
}

sub on_read {
    my ( $self, $buffref, $eof ) = @_;
    my @lines = $$buffref =~ s{\g(.+$/)}{}g;
    for my $line ( @lines ) {
        $self->invoke_event( on_line => $line, $eof );
    }
    return 0;
}

sub write {
    my ( $self, $line, %args ) = @_;
    return unless $line;
    $line .= "\n" unless $line =~ /\n$/;



( run in 1.244 second using v1.01-cache-2.11-cpan-87723dcf8b7 )