use Test::More qw(no_plan); my @items = map {pin()} 1..1000; my @bad = grep { ! /\A\d{4}\z/ } @items; is_deeply(\@bad,[],"All pins are 4 digits");