package PerlIO::via::AnyCRLF; sub PUSHED { my ($class) = @_; my $have_crlf; return bless \$have_crlf, $class; } sub FILL { my ($self, $fh) = @_; binmode $fh, ":crlf" unless $$self; $$self = 1; my $len = read $fh, my $buf, 4096; if (defined $buf) { $buf =~ s/\r/\n/g; } return $len > 0 ? $buf : undef; } 1;