
Postado originalmente por
Cartoondivine
Ê laiá! Aqui estou aqui outra vz. 8)
Seguinte, queria opiniões sobre esse code ai, oq vcs acham q pode ser melhorado, se poderia ter alguma outra função...lembrando q é um script relativamente simples, ao interpretar ele retorna uma senha de 12 caracteres e vc tm a opção de salvar em arquivo de texto ou não, para mais caracteres, é só entrar com o comando script.pl [valor] e terá o resultado, enfim...eu estava querendo colocar outras funções e de algum modo poder diminuir esse code ao máximo (sem perder funções), se alguém souber sobre isso ou tm alguma ideia q poderia ser implementada, gostaria mto de saber.
Há um script para criar senhas para o Linux, no momento esqueci o nome, gostaria de fazer igual mas tô sem meios para tanto, se alguém souber de algo, plz, comenta ai tbm vai. ^^
O que seria legal adicionar no seu script ai..um esquema para o usuário escolher como vai querer a senha.. por exemplo : Apenas números e letras sem os caracteres especiais que são difíceis de lembrar as vezes..
segue um que acabei de escrever seguindo essa idéia de opções que citei logo acima.. pode modificar melhorar e copiar o que quiser.. fique a vontade!!.. apenas preserve os créditos!! 
Modo de usar : script.pl <n-de-carac> <opções>
Ex : script.pl 9 -l -L -c
Código:
#!/usr/bin/perl
# G-Senha
# por Mdh3ll
# Script teste // esta um lixo
system("cls");
print q{
-----------------------------------------------------------
G-Senha
-n numeros
-l letras minusculas
-L letras maiusculas
-c caracteres especiais
Ex: 12 -n -L -l
-----------------------------------------------------------
};
my ($val) = @ARGV[0];
my $i=0;
foreach (@ARGV){
if ($ARGV[$i] eq "-n"){@n = 0..9;}
if ($ARGV[$i] eq "-l"){@l = a..z;}
if ($ARGV[$i] eq "-L"){@L = A..Z;}
if ($ARGV[$i] eq "-c"){@c = qw(! ? ^ ~ @ # $ % & * - _ + = );}
$i++;
}
@all = (@n,@l,@L,@c);
for ($conta=1, $max="$val";$conta <= $max; $conta++) {
$num = rand(@all);
$p = $all[$num];
$senha = "$senha$p";
}
print "\nsua senha:\n\n\n$senha";