http://qs321.pair.com?node_id=11119219


in reply to Re^2: Perl::Critic says don't modify $_ in list functions and other things
in thread Perl::Critic says don't modify $_ in list functions and other things

Would any line produced by evaluating the <$fh> expression ever end in \r\n?

On Windows? It would require CR CR LF in the file (assuming default $/ and IO layers). Extremely unlikely.

Elsewhere? It would require CR LF in the file (assuming default $/ and IO layers). Possible.

I think s{ $/ \z }{}xms would work

Well, that should be s{ \Q$/\E \z }{}xms (and /m and /s are useless) to be equivalent to the chomp.

And if $/ hasn't been changed, s/\n\z// could be used (since $/ defaults to LF on all systems).

But if I was going with a regex pattern, I'd go with s/\s+\z//. Handles \n, \r\n and other trailing whitespace. (TSV files being an exception.)