Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
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: "Solved my problem. ..."
Visitor Ranking 4.8 (5=excellent, 1=poor)
1 unpublished comment pending on this page

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

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho