Your rule of thumb is very true, but that's not quite how chomp works--it checks if the input ends with $/ (the input record separator) and if so removes it. In Win32, for instance, the input record separator is "\r\n" (or perhaps more accurately "\015\012").
You can, of course, change $/ to whatever string you want, with interesting and sometimes comical results (and possibly useful obfuscatory tricks) that are left to the reader to discover. My favorite use of it is the implicit chomp in the -l command-line flag:
perl -lpe 'BEGIN{$/ = "\r\n"}' -i.bak filename.txt
(in unix)
perl -lp015 -e";" -i.bak filename.txt
(in Win32, if I remember correctly)
which changes your line endings to match your platform.
If God had meant us to fly, he would *never* have given us the railroads.
--Michael Flanders
|