in reply to using a sub routing as an argument

@ARGV is an array, so if you want to look at the arguments passed to the program, you look at $ARGV[0], $ARGV[1], $ARGV[2], etc. (for the first, second, third, etc. paramaters)