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.