#! perl use strict; use warnings; my $len = 7; for my $s (' 999', ' 9999', '9999999', ' 9', ' 99 9', ' 9') { if (length $s == $len && $s =~ /^\s*\d+$/) { printf "%-*s matches\n", $len + 2, "|$s|"; } else { printf "%-*s does not match\n", $len + 2, "|$s|"; } }