foreach my $arg (@ARGV) { if( $arg =~ /^-B(\d+)$/ ) { # months Before $before = $1; } elsif( $arg =~ /^-B$/ ) { $before = shift( @ARGV ); if( $before !~ /^\d+/ ) { die "Bad before argument ($before)\n"; }