This is our first post on Perl programming language. These two functions are useful in removing the last character of a given string, array(each element last character), hashes etc.

Before going into detail, we will see why we require chop and chomp functions. If you are aware of other languages like Shell and Python, they handle variables taken from user input very well. But Perl will take inputs from user differently. When Perl is asked to take inputs from user it will take variable content as the characters enter by users which includes even new line character in it.

Suppose try to save below code in to a file called xyz.pl and try to run it

#!/usr/bin/perl
$VAR1=<>;
print “$VAR1”

Sample output:
[email protected]:~$ perl xyz.pl
vaares

vaares
[email protected]:~$

If you see, We never given n in above $VAR1 variable, Perl will try to take it by default. Some times it’s required to give only chars ‘vaares’ instead of ‘vaaresn’. This can be achieved by using chop or chomp functions which are used to remove last character in a given string array or hash.

Related concept:   Shell script to convert binary to decimal number

The only difference between chop and chomp is that chop will remove any character which is present at the end of a given string but chomp will delete only new line and return characters from end.

Learn chop() functions with examples:

chop() function syntax:

chop($somevarname)

Example1: Chopping a string/variable

perl -e ‘$VAR1=abc;chop($VAR1);print “$VAR1n”;’
ab


Example2: Chopping a perl Array

perl -e ‘@ARR1=(abc, cde, efg);@ARR2=chop(@ARR1);print “@[email protected]”;’
g
ab cd ef

If you see @ARR1 is modified to ab cd ef and @ARR2 to store last chop char in it ie g in efg value.

Example3: Chopping perl Hash.

perl -e ‘%ages = (‘Martin’ => 28, ‘Sharon’ => 35, ‘Re’ => 29,);chop(%ages);print (values %ages)’
223[email protected]:~$

If you see keys are choped of their last chars.

Note: chop function will not chop of values.

Want to know more about chop and chomp functions? use below perldoc command

perldoc -f chop
perldoc -f chomp

comment your thoughts on this.