The chomp Operator
The first time you read about the chomp operator, it
seems terribly overspecialized. It works on a variable. The variable has
to hold a string. And if the string ends in a newline character,
chomp can get rid of the newline.
That’s (nearly) all it does. For example:
$text = "a line of text\n"; # Or the same thing from <STDIN> chomp($text); # Gets rid of the newline character
But it turns out to be so useful, you’ll put it into nearly every
program you write. As you see, it’s the best way to remove a trailing
newline from a string in a variable. In fact, there’s an
easier way to use chomp because of a
simple rule: any time that you need a variable in Perl, you can use an
assignment instead. First, Perl does the assignment. Then it uses the
variable in whatever way you requested. So the most common use of
chomp looks like this:
chomp($text = <STDIN>); # Read the text, without the newline character $text = <STDIN>; # Do the same thing... chomp($text); # ...but in two steps
At first glance, the combined chomp may not seem to be the easy way,
especially if it seems more complex! If you think of it as two
operations—read a line, then chomp
it—then it’s more natural to write it as two statements. But if you
think of it as one operation—read just the text, not the newline—it’s
more natural to write the one statement. And since most other Perl
programmers are going to write it that way, you may as well get used to
it now.
chomp is actually a function. As a function, it has ...