Perl array chop() and chomp() function - Quick Tutorial

How to use the chop() and chomp() function

Format
mla apa chicago
Your Citation
Brown, Kirk. "Perl array chop() and chomp() function - Quick Tutorial." ThoughtCo, Oct. 27, 2014, thoughtco.com/perl-array-chop-chomp-function-tutorial-2641180. Brown, Kirk. (2014, October 27). Perl array chop() and chomp() function - Quick Tutorial. Retrieved from https://www.thoughtco.com/perl-array-chop-chomp-function-tutorial-2641180 Brown, Kirk. "Perl array chop() and chomp() function - Quick Tutorial." ThoughtCo. https://www.thoughtco.com/perl-array-chop-chomp-function-tutorial-2641180 (accessed September 20, 2017).
Man working on laptop
Rob Melnychuk/Stockbyte/Getty Images
 chop(@ARRAY);
 chomp(@ARRAY); 
Perl's chop and chomp functions can often be a source of confusion. Not only do they sound similar, they do similar things. Unfortunately, there is a critical difference - chop removes the last character of the string completely, while chomp only removes the last character if it is a newline.
 $myName = "Jacob\n";
 chomp($myName); 
Chomping $myName cuts off the last newline, leaving just Jacob.
Once it's been chomped, further chomping won't do anything at all. Chopping the name, however, will result in the last character being removed, leaving Jaco:
 $myName = "Jacob";
 chop($myName); 
Chomping and chopping an array results each element being acted on, and can be a real time saver.
 chop(@ARRAY);
 chomp(@ARRAY); 
So remember - Chop chops off the last character without question or regret. Chomp only removed the newline, leaving the string itself intact. Chomp does not remove all whitespace characters by default. In fact, by default, chomp only removes what is currently defined as the $INPUT_RECORD_SEPARATOR. If your goal is to trim all whitespace from the end of your string, try using a regex like this one submitted by a reader:
 $line =~ s/\s*$//g;