in reply to Usage of Shift function in PERL

Maybe it is "not working" because you throw the data away? shift does not automatically assign to $_.

Try it with

$_=shift @ARGV;