Your generator cannot generate a password with the letters a, b or c due to the +3 when selecting the random letter. See rand, which already returns a number in the range from 0..$len.
The variable $len is named wrong - it has the last index of @lett, not the number of elements in the array. This means that your password generator would never output the last element from @lett if it weren't for the + 3 from the previous step. I would use:
$len = @lett;
... which assigns to $len the number of elements in @lett.
Other than that, using double quotes in a simple assignment is weird unless you have a special reason to do so - and if you are starting with Perl just now, those special reasons ("stringification") are still far away. So, no assignment should be of the form
$foo = "$bar";
and always of the form
$foo = $bar;
In reply to Re: Password (pseudo)casual
by Corion
in thread Password (pseudo)casual
by cisco88
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |