Ajuda com condição com (PERL)

1. Ajuda com condição com (PERL)

Hacker afrodir
podolcee

(usa Outra)

Enviado em 06/12/2011 - 01:47h

Olá para todos !
estou querendo uma ajuda aqui com comandos IF
tipo to querendo dá uma opções em meu batch no meu script aqui
algo está saindo errado !
no meu programa tá funcionando assim:
quando eu coloco a opção 1 imprimir meu nome
mais junto está imprimindo isso:
escolheu a opcao que nao existe
mais no caso na segunda opção que eu também fiz
ela imprimir normal mais na primeira não
eu coloquei essa de caracteries proibido para ficar um codigo
mais inteligente olhem ai:

#!/usr/bin/perl

# Aprensentação

print "===========================\n";
print "Escolha sua opcao \n";
print "1 Meu Nome \n";
print "2 Para minha Idade \n";
print "===========================\n";

# Variaveis

my $res;

# peguntas

print "escolha sua opcao: 1 ou 2\t\n";
$res = <STDIN>;

if ($res == 1) {
print "Lucas\n";
}
if ($res == 2) {
print "14 anos\n";
}
else{
print "Erro opcao nem existe !\n";
}

Me ajudem !


  


2. Re: Ajuda com condição com (PERL)

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/12/2011 - 09:40h

não programo em perl, mas acho que seu erro está aqui:


if ($res == 1) {
print "Lucas\n";
}
if ($res == 2) {
print "14 anos\n";
}
else{
print "Erro opcao nem existe !\n";
}


O certo seria:


if ($res == 1) {
print "Lucas\n";
}
elsif ($res == 2) {
print "14 anos\n";
}
else{
print "Erro opcao nem existe !\n";
}



3. (PERL)

Hacker afrodir
podolcee

(usa Outra)

Enviado em 06/12/2011 - 10:37h

mrk3004 escreveu:

não programo em perl, mas acho que seu erro está aqui:


if ($res == 1) {
print "Lucas\n";
}
if ($res == 2) {
print "14 anos\n";
}
else{
print "Erro opcao nem existe !\n";
}


O certo seria:


if ($res == 1) {
print "Lucas\n";
}
elsif ($res == 2) {
print "14 anos\n";
}
else{
print "Erro opcao nem existe !\n";
}


Valeu cara me ajudou funcionou aqui obrigado !


4. Re: Ajuda com condição com (PERL)

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/12/2011 - 11:01h

Não se esqueça de marcar o tópico como resolvido e marcar a melhor resposta.

Ps.: Sei que é chato ficar dizendo isso, mas todo mundo esquece, tem que alertar se não daqui a pouco vira baderna rs


5. Re: Ajuda com condição com (PERL)

Davi Rodrigues
davirodrigues

(usa Debian)

Enviado em 06/12/2011 - 11:05h

mrk3004 escreveu:

não programo em perl, mas acho que seu erro está aqui:


if ($res == 1) {
print "Lucas\n";
}
if ($res == 2) {
print "14 anos\n";
}
else{
print "Erro opcao nem existe !\n";
}


O certo seria:


if ($res == 1) {
print "Lucas\n";
}
elsif ($res == 2) {
print "14 anos\n";
}
else{
print "Erro opcao nem existe !\n";
}


Na verdade eu também não programo em PERL, mais com um pouco experiência que tenho em php e shell script, acho que esse tipo de rotina ficaria melhor com o "switch" e dando uma leve pesquisada no google encontrei várias formas de se fazer tal operação em PERL, mais a lógica do elsif esta correta, segue abaixo um dos links pesquisados para o switch:

Link 1: http://www.misc-perl-info.com/perl-switch.html

Link 2: http://perl.active-venture.com/lib/Switch.html







6. Re: Ajuda com condição com (PERL)

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/12/2011 - 11:11h

Com certeza davirodrigues, switch é bem mais adequado... se bem que eu tenho um vício por if que as vezes me pego fazendo rotinas semelhantes com if hehe


7. Re: Ajuda com condição com (PERL)

Davi Rodrigues
davirodrigues

(usa Debian)

Enviado em 06/12/2011 - 11:31h

mrk3004 escreveu:

Com certeza davirodrigues, switch é bem mais adequado... se bem que eu tenho um vício por if que as vezes me pego fazendo rotinas semelhantes com if hehe


Pois é, eu costumava fazer Ifs também, só que o código ficar muito complicado de compreender, depois de um longo período de programação fica quase inlegível, só o criador mesmo para dar manutenção, emfim criar códigos legíveis é uma boa pratica de programação.

Vlw!!!


8. Re: Ajuda com condição com (PERL)

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/12/2011 - 11:51h

@OFF_TOPIC

davirodrigues escreveu:

mrk3004 escreveu:

Com certeza davirodrigues, switch é bem mais adequado... se bem que eu tenho um vício por if que as vezes me pego fazendo rotinas semelhantes com if hehe


Pois é, eu costumava fazer Ifs também, só que o código ficar muito complicado de compreender, depois de um longo período de programação fica quase inlegível, só o criador mesmo para dar manutenção, emfim criar códigos legíveis é uma boa pratica de programação.

Vlw!!!


É engraçado, estava pensando nisso ontem, fazendo algumas comparações entre python e bash (por mais improvável que isso seja).

Python particularmente era uma linguagem que não gostava muito, e nunca tinha me interessado em aprender, mas depois que comecei a olhar um pouquinho mais pra ela me surpreendi. Me adaptei bem a orientação a eventos e a forma organizar os blocos por identação "obrigatóriamente".

O bash é uma linguagem muito aberta, você pode fazer por exemplo:

a=abc;while true;do echo $a; done 


E no bash eu realmente fazia isso, pois não tinha intenção nenhuma de organizar o código. Já o python não te permite fazer isso (de modo geral), ou você segue a identação para organização dos blocos ou então não rola, isso é bacana! As vezes você quer fazer algo simples de umas 5 ou 6 linhas que só vai usar uma vez e faz de qualquer jeito, mas o python não te permite isso, então você meio que acostuma com isso e passa a fazer as coisas mais 'bonitinhas', é interessante.

No bash todo cuidado é pouco, pois tornar um código mais complexo ilegível é facinho.


9. Re: Ajuda com condição com (PERL)

Daniel Vinciguerra
dvinciguerra

(usa Debian)

Enviado em 27/12/2011 - 21:28h

Dependendo da versão você também pode usar o given/when ativando as features!

use v5.10; # ou também... use feature "switch";

given ($scalar_of_love) {
when (/foo/) {
say "This is a foo output"
}
when (/bar/) {
say "This is a bar output"
}
default {
say "This is a default output"
}
}

Perl Doc - given
http://perldoc.perl.org/functions/given.html

[]'s






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts