package PerlIO::via::normeol; sub FILL { my ($obj,$fh) = @_; my ($c); my $n = read ($fh, $c, 1); return undef unless $n; $c =~ tr/\r/\n/; return $c; } 1; use PerlIO::via::normeol; open (A, "<:via(normeol)", "foo.bar"); while () { ...