sub randomPassword { my $length = shift || 12; my @OK_CHARS = ('a'..'z', 'A'..'Z', '0'..'9', qw[_ - . @]); my $password; for (1 .. $length) { $password .= $OK_CHARS[ int rand scalar @OK_CHARS ]; } return $password; }