Usando ARGV como login
Publicado por Jonatan Gomes (última atualização em 26/10/2010)
[ Hits: 6.555 ]
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__ }
Eliminando caracteres indesejados
Script para adicionar e remover usuários no IMSPECTOR
Processa todos os SlackBuild's
Contagem de linhas em Perl (= wc -l)
Script que remove palavras de um arquivo.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Não consigo acessar os modos de desempenho (2)
Ubuntu — tentando iniciar o windows? (0)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba