#!/usr/bin/perl use strict; use warnings; my $max = shift // 999; my $min = shift // 100; my $best = 0; I: for (my $i = $max; $i >= $min; $i--) { J: for (my $j = $max; $j >= $i; $j--) { my $prod = $i * $j; if ($prod <= $best) { last I if $j == $max; last J; } if ($prod == reverse $prod) { $best = $prod; print "$i x $j -> $prod\n"; last J; } } } print "best: $best\n";