use Strict; use Warnings; open PRIME_LIST, ">", "./prime_list.txt" or die "Failed to open ./prime_list.txt\nError: $!"; my @primes; sub list_primes { local $max = shift; for (local $num = 2; $num < $max; $num++) { for (local $x = 2; $x <= $num/2; $x++) { if ($num % $x == 0) { $x = 2; $num++; } } push @primes, $num; } } list_primes($ARGV[0]); print "$_\t" foreach @primes; print "\n"; my $value = 0; my @decimal_value; foreach my $base (@primes) { for ($x = 0; $x < scalar @primes; $x++) { $value += ($primes[$x] % $base) * $base**($x); } print PRIME_LIST "$base\t$value\n"; push @decimal_value, $value; $value = 0; } print "done."