http://www.perlmonks.org?node_id=1024170


in reply to Re^2: Creating 2D array / Matrix
in thread Creating 2D array / Matrix

shift here shifts from the @ARGV array. If it fails, (if not enough file names, 3, were supplied on the command line), then the program dies, (quits), and prints the string contained in $usage, ("merge_bed.pl <input1> <input2> <output>". (This message tells the user that his perl program, merge_bed.pl or whatever name you choose as your program name requires 2 input filenames and 1 output name).