package pandigital; use strict; use List::MoreUtils qw(uniq); sub is_pandigital { my $a = shift; my $n = length($a); my $s = $a; my $c = ''; if ($n > 9) { return 0; } for (my $i = 1; $i <= $n; ++$i) { $c .= $i; } $s =~ s/[^$c]//g; return $n == scalar(uniq(split(//, $s))); } 1;