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 )