in reply to newlines and sendmail

As a rule of thumb (correct me if I'm wrong here), try to use 'chomp' instead of chop, as chop merely kills the last character in the line, while chomp kills the last whitespace character (or none if the last character is alphanumeric).


Could you post a sample file to go with this?
Hope this helps!
_________________________________________
E-Bitch
Tempora Mutantur Nos et Mutamur in Illis
"The Times are Changed Even as We are Changed in Them"

Replies are listed 'Best First'.
Re: Re: newlines and sendmail
by ChemBoy (Priest) on Aug 17, 2001 at 04:39 UTC

    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