use strict; use warnings; use 5.10.1; use bignum; use Time::HiRes qw(gettimeofday tv_interval); print "Enter the integer: "; chomp (my $prime_candidate = ) ; exit if $prime_candidate <= 0 && say "$prime_candidate is not a prime."; my $is_prime = 1; my $start_time = [gettimeofday]; foreach my $each_num (2..$prime_candidate) { if ($prime_candidate % $each_num == 0 && $prime_candidate - $each_num != 0 ) { say "$prime_candidate is not a prime"; $is_prime = 0; exit; } } my $elapsed_time = tv_interval($start_time); say "$prime_candidate is a prime " if $is_prime != 0; printf "The [$0] script took %2.2f seconds to finish\n", $elapsed_time; #### $ perl time_is_prime_v1.pl Enter the integer: 99929 99929 is a prime The [time_is_prime_v1.pl] script took 0.79 seconds to finish $ perl time_is_prime_v1.pl Enter the integer: 999983 999983 is a prime The [time_is_prime_v1.pl] script took 7.69 seconds to finish $ perl time_is_prime_v1.pl Enter the integer: 9999991 9999991 is a prime The [time_is_prime_v1.pl] script took 73.97 seconds to finish $ perl time_is_prime_v1.pl Enter the integer: 1320486952377516576 1320486952377516576 is not a prime