#!/usr/bin/perl use warnings; use strict; foreach my $num (reverse (999 ... 999*999)) { # I skipped the 'product of two 3 digit integers' part: see LanX below if ($num eq reverse $num){ print "largest palindrome is: $num\n"; exit; } } # or just: perl -we "for(reverse 999 .. 999*999){($_ eq reverse $_ )?(print qq(largest palindrome $_)and exit 0 ): 1}" largest palindrome 997799