in reply to chomp() problems

As `perldoc -f chomp` tells us, chomp <cite>removes any trailing string that corresponds to the current value of "$/"</cite>; so look at the value of $/. Because it's quite tricky how the "end of line" portability problem was solved (`man perlport`), i'd recommend you to use the explizit character escapes \015 and \012 instead of \r and \n:

{ local $/="\015\012";chomp }
--
http://fruiture.de

Replies are listed 'Best First'.
Re^2: chomp() problems (use \015\012)
by Flexx (Pilgrim) on Sep 24, 2002 at 23:38 UTC

    ++fruiture! Twice, if I could.

    I can't believe how fortified using \r\n is in some minds when dealing with foreign sytems' line terminators. In the last few days, this is the fourth post on that topic... It seems as if I stumbled into a crusade against \r\n (which, across systems, ah.., isn't).

    Brothers and Sisters, this is harmful! Oh well, I might overstate this, but this does spoil portability! It was Aristotle, who asked me to beat him to it, just a short while ago... ;)

    In this case, if you ported local $/ = "\r\n" to an EBCDIC-US system you'd chomp on CR followed by chr(37) ('#' in EBCDIC)! You need to obey the origins encoding, and for DOS that means that line endings are \015\012 and not your systems' \r\n.

    So long,
    Flexx

    PS: SparkeyG, best wishes for your baby!
    $happy_baby = not reverse(@food) and sleep($calmly) # ;)