| |||||||||||
| |||||||||||
New line characters - beware! Posted by admin (Graham Ellis), 11 November 2002 Newcomers to Perl - beware! When you read in a line in using $input = <STDIN>;, what you read includes a new line sequence. If you then use the variable $input to be a file name, it's a very curious file name with the new line sequence on the end of it!Easy options - use either the chomp function or the chop function to remove the new line sequence; better option if you're trying to "bullet proof" your code - match it against a regular expression to ensure that the file name given isn't an attempted hack ![]() Posted by admin (Graham Ellis), 3 January 2003 From my mailbag: ...."Can you help me with this problem. I need to perform some actions on a dos textfile on a unix platform. I want to chomp the cr/lf. When I do that the function works not correct anymore." Err - technically it does work correctly - it removes the Unix end of line character (which is just a new line) leaving the carriage return that dos also uses on the end of the string. I would suggest you replace your chomp with $line =~ s/\s+$//; which will strip off all trailing white spaces - tabs, spaces, new lines and returns as well. This makes your code work on Unix and Linux whether the input file is from Windows or from Unix. As a side effect, it also removes any trailing whitespace on each line which is usually but not always an advantage. This page is a thread posted to the opentalk forum
at www.opentalk.org.uk and
archived here for reference. To jump to the archive index please
follow this link.
Comment by LaV (published 2011-02-18) Solved my problem. Thanks!!! [#3877] Comment by Anon (published 2010-08-21) Thanks - the regexp did the trick for me! [#3737] Comment by Anon (published 2010-07-15) some files i was working with had the new line return, other did not. this worked for both, thanks. [#3654] Comment by Anon (published 2010-03-21) Suggested link. Thanks for that tiny regexp. [#3486] You can Add a comment or ranking or edit your own comments There are presently 1 new comment(s) pending publication on this page Average page ranking - 4.8 |
| ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |