in reply to Re: chomp removes everything *except* the newline?
in thread chomp removes everything *except* the newline?

Thanks for your help. Sorry about the inaccuracy but I hand-typed the code in my post and missed the quotes.
Anyhoo, it is working now that I changed open(FILE, "$File") to open(FILE, "<", "$File").

I have no idea how reading the file without that "<" could have affected chomp later o_O

Replies are listed 'Best First'.
Re^3: chomp removes everything *except* the newline?
by almut (Canon) on Jun 26, 2010 at 18:56 UTC

    On a side note, there's no need to put double quotes around $File.

    While this makes sense in shell programming, for when the string has spaces in it etc., in Perl it's plain superfluous.

Re^3: chomp removes everything *except* the newline?
by GrandFather (Saint) on Jun 26, 2010 at 21:50 UTC
    Sorry about the inaccuracy but I hand-typed the code

    Copy and paste is your friend. If you don't want to post the code you ran, at least run the code you post!

    it is working now that I changed open(FILE, "$File") to open(FILE, "<", "$File")

    That's a start, but one of the mantras around here is: "Always use strictures (use strict; use warnings; - see The strictures, according to Seuss), always use the three parameter version of open, always use lexical file handles and always check the result of I/O". Taking all that on board your open should have looked more like:

    open my $inFile, '<', $file or die "Failed to open $file: $!";

    Although that doesn't at all explain the chomp oddity you saw. More likely reasons for that behaviour are that you were reading a file generated with different line endings than are native on your OS or something had messed with $/ (see perlvar $/).

    True laziness is hard work