use Crypt::Random "makerandom_itv"; @chars = map chr, ord("!")..ord("~"); $pass .= $chars[ makerandom_itv(Lower=>0, Upper=>scalar(@chars))] for 1..8; print $pass, "\n";