use strict; use warnings; use Getopt::Long; my $luckynumber = undef; GetOptions("luckynumber=i" => \$luckynumber) or die("GetOptions failed"); die "missing argument luckynumber" unless defined($luckynumber); print "Lucky number is " . $luckynumber . "\n"; #### use warnings; use strict; use Test::More; use Test::Exception; BEGIN { plan tests => 2, todo => [] } # ------ load script without arg - expect failure throws_ok { require 'luckynumber.pl' } qr/missing argument/, 'needs argument'; # ------ load script with arg - expect ok ok( require 'luckynumber.pl --luckynumber=42', 'script loaded ok'); #### $ prove luckynumber.t luckynumber....ok 1/2Can't locate luckynumber.pl --luckynumber=42 in @INC ..