#!/usr/bin/perl use strict; use warnings; sub argscan{ my @subarg = ($_[0],$_[1],$_[2]); my $argcount; my $found; my $notfound; my @whenfound; if (@ARGV == 1) { return 0; } elsif ($subarg[0] = undef) { $argcount = @ARGV; return $argcount; } else { while ($argcount <= @ARGV) { if ($ARGV[$argcount] == $subarg[0]){ $found++; $whenfound[$argcount] = 1; } else { $notfound++; $whenfound[$argcount] = 0; } $argcount++; } if ($subarg[1] eq "foundcount") { if (defined($found)) { return $found } } elsif ($subarg[1] eq "notfoundcount") { if (defined($notfound)) { return $notfound } } elsif ($subarg[1] eq "huntfor") { if (defined($found)) { return $whenfound[$subarg[2]] } } else {return 0 } } } my $argnumber = argscan(); my $carnumber = argscan(qw(car foundcount)); my $notcarnumber = argscan(qw(car notfoundcount)); my $bunnynumber = argscan(qw(bunny foundcount)); print "there are $argnumber arguments \n there are $carnumber cars there are $bunnynumber bunnies $notcarnumber args are not cars \n ";