#!/usr/bin/perl -w use strict; BEGIN { ++$| and print "Starting...\n\n" } my(@primes) = &gen_primes(eval(1 . '0' x 10)); PRIMESCAN: foreach (@primes) { my($a) = $_; foreach (@primes) { my($b) = $_; if (length($a * $b) == 400) { last PRIMESCAN and print <<__FOUND__ NUMBER DISCOVERED! $a * $b = ${\$a * $b} __FOUND__ } else { print <<__NOTYET__ } $a * $b = ${\$a * $b} __NOTYET__ } } sub gen_primes { my($ceil) = shift || 0; print "Getting primes...\n"; for (my($i) = 0; $i < $ceil; ++$i) { if (isa_prime($i)) { print " $i is prime\n"; push(@primes,$i); } } return @primes } sub isa_prime { my($candidate) = shift; my($i) = 1; while (++$i < $candidate) { return undef if ($candidate % $i) == 0 } return $candidate }