UPDATE: I have found some rare issues using chomp() in multi-platform situations. chomp() does a great job when dealing with files generated upon that particular platform. I have written code that is tested on my Windows box and on a Unix box and then a user uses an old Mac to edit the file. chomp() usually works, but if old Mac formatting is allowed, that is not sufficient. To be honest, the last time I got an error report involving this, I told the old Mac user to set his editor to save files as DOS format. I did not change my code to allow old Mac.my @list = map { s/\r\n$//; $_} <$fh>; my @uc_list = map { s/\r\n$//; uc $_; $_} <$lc_fh>; my @split_list = map { s/\r\n$//; split(/\|/, $_); [@$_] } <$piped_fh> +;
The easiest way to make sure that you delete all of the potential \r \n characters is to remove all white space at the end of the line. I like the suggestion from ikegami of s/\s+\z//. That does have a potential issue with a tab separated line containing a blank field at the end of the line.
In reply to Re: Perl::Critic says don't modify $_ in list functions and other things
by Marshall
in thread Perl::Critic says don't modify $_ in list functions and other things
by Lady_Aleena
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |