use strict; use 5.012; use Math::Factor::XS qw/factors/; use List::Util qw/sum/; for (2 ... 10000) { say "$_ is perfect" if sum(factors($_)) == $_ - 1; }