Other than processing options using Getopt::Long (which I use most frequently) and Getopt::Std, options can be parsed manually. For example, in your case:
my ($input,$stat,$csv);
while (my $arg = shift @ARGV) {
if ($arg eq "-i") {
$input = shift @ARGV;
} elsif ($arg eq "-s") {
$stat = shift @ARGV;
} elsif ($arg eq "-o") {
$csv = shift @ARGV;
} else {
die "$arg: invalid argument\n";
}
defined $input && defined $csv && defined $stat || die "You should def
+ine -i, -o and -s!\n";
You can also
use 5.010 and
process arguments in "switch-case" style.
Sorry if my advice was wrong.