in reply to Command line argument

The way you've stated your question is highly confusing, but to your credit, that first sentence is certainly long enough to warrant a full three question marks.

Normally, when making quick shell programs, what I do is something like this:
unless (@ARGV) { die "Usage: $0 list_of_files_to_mangle_and_destroy\n"; }
Don't forget that zero is false, so if someone called your program on a file called "0", they are going to get an error.

For something more sophisticated, you might want Getopt::Long.