sub random_password { my $length = 8 + int(rand(5)); my @alpha = ( 1 .. 9, 'a' .. 'z', 'A' .. 'Z', qw( ! @ $ % & * + - . , ) ); return join('', map { $alpha[rand(@alpha)] } ( 1 .. $length )); }