Usando ARGV como login
Publicado por Jonatan Gomes (última atualização em 26/10/2010)
[ Hits: 7.091 ]
Homepage: Em construção xD
Bom galera, eu tive um enorme problema para entender ARGV porque não conseguia encontrar nenhum tutorial ou apostila mencionando o que era claramente parâmetros --', mas graças a uns "linuxer's", com muita paciência eu consegui compreender, então fiz esse script simples usando ARGV como o Login, simples mas é grandinho xD, exemplo: você se cadastra e usa .txt para guardar os dados e para logar é só iniciar novamente o script usando parâmetros para seu login, exemplo:
$ perl loginargv.pl R4$T4 123456
Neste caso meu login é R4$T4 e minha senha é 123456, entenderam a jogada?
__R4$T4__
#!/usr/bin/perl
$ver="v. 1.0";
$so;
# Variaveis # Maioria tudo <STDIN>...
$loginW;
$senhaW;
@dadosW;
@dadosC;
$nomearquivoW;
$pasta;
$clear;
$reg;
$confirma;
##_____________________________________________##
$#ARGV+=1; # Porque acrescentar 1 no total de Paramentros ARGV?
# Porque o numero inicial de paramentros ARGV e -1.
print "\n+---------------[©R4\$T4]---------------+\n";
print "|-------------------------------$ver--|\n";
print "| |\n";
print "| Cadastro/login usando ARGV |\n";
print "| |\n";
print "| -===Coded By R4\$T4 ===- |\n";
print "+---------------------------------------+\n\n";
print "Informe seu Sistema Operacional:\n\n";
print "1- Linux\n"; #porque isso? simples porque usei comandos SYSTEM e tem variações entre os dois S.Os
print "2- Ruindows\n";
chomp ($so= <STDIN>);
if (($so > 2) || ($so < 1)){
print "Se voce colocar 3,4,5... como opcao obvio que vai dar erro, sem ignorancia\n";
exit;
}
if ($#ARGV > 0) #se tiver algum parametro qualquer vai ser considerado login
{
if ($so == 1)
{
system ("clear");
if (!-e "$ARGV[0]$ARGV[1].txt"){
print "Usuario nao cadastrado\n";
exit;
}
open($BD, "<$ARGV[0]$ARGV[1].txt");
while (<$BD>){
$confirma= $_;
}
close ($BD);
@dadosC= split (/:/,$confirma);
print "Hello! $dadosC[0] senha $dadosC[1]\n";
print "Teve competencia para realizar um cadastro\n";
print "voce e foda! linuser";
}
if ($so == 2)
{
system ("cls");
if (!-e"c:/$ARGV[0]$ARGV[1].txt"){
print "#________Usuario nao cadastrado ou Login/senha incorreto[a]________# \n";
exit;
}
open($BD, "<c:/$ARGV[0]$ARGV[1].txt") ;
while (<$BD>){
$confirma= $_;
}
close ($BD);
@dadosC= split (/:/,$confirma);
print "\tHello! $dadosC[0] senha $dadosC[1]\n";
print "\tTeve competencia para realizar um cadastro\n";
print "\n\n\t####Mas pelo amor de Linus Troque esse S.O.###";
}
}
if ($#ARGV ==0 ) #se não tiver nenhum parametro obviamente sera considerado cadastro
{
if ($so == 1)
{
system ("clear");
$pasta="";
$clear="clear";
}
if ($so ==2)
{
system ("cls");
$pasta= "c:/";
$clear= "cls";
}
system ("$clear");
print "\n+---------------[©R4\$T4]---------------+\n";
print "|-------------------------------$ver--|\n";
print "| |\n";
print "| Cadastro/login usando ARGV |\n";
print "| |\n";
print "| -===Coded By R4\$T4 ===- |\n";
print "+---------------------------------------+\n\n";
sleep 3;
print "Coloque seu Login:\t";
chomp ($loginW= <STDIN>);
print "\nColoque sua senha:\t";
chomp ($senhaW= <STDIN>);
push(@dadosW, $loginW,$senhaW);
$nomearquivoW= $loginW;
$nomearquivoW.= $senhaW;
$reg= join(":",@dadosW); #pra quem nao sabe "join" imprime no documento os elementos da matriz
open (BD, ">$pasta$nomearquivoW.txt"); # com ":" entre eles e é bem útil para usar "split" para separar
#fica mais fácil manipular os dados.
print BD "$reg";
close (BD);
if (-e "$pasta$nomearquivoW.txt"){
print "\n\n\n\____Cadastro Efetuado com SUCESSO!!!____ \n";
sleep 2;
system ($clear);
print "###Agora reinicie o programa usando parametros ARGV como login###\n";
print "\n\n\nExemplo \"perl loginargv.pl rasta 123456\" ";
}
#Nota: acho que está meio bagunçado porem não usei nada incompreencível
#então creio que será de fácil análise.
#__R4$T4__
}
script para localizar conteudo de arquivo
Inserindo sites em Lista do Squid
Script para adicionar sites ao Squid
Inserindo sites em Lista do Squid
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
A tragédia silenciosa das distribuições baseadas (ou “agregadas”)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
KDE Plasma 6.5: Como manter o Projetor fixo enquanto você alterna Áreas de Trabalho no PC
Aplicações mudam entre monitores após tela de bloquio (4)









