<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Ola monges,<br><br>Quanto tempo, ne?! A paz reinava aqui sem minha ignorância. hahaha<br><br>Desejando de cara um ótimo ano a todos venho trazer mais uma simples dúvida.<br><br>Eu tenho o seguinte:<br><br>chomp (my $b = <>);<br>$b = undef if $b eq '';<br>my $c = 'c';<br>my $a = defined($b) ? $b : $c;<br>print $a, "\n";<br><br><br>Funciona perfeitamente, mas o que não entendo é porque se eu remover a segunda linha ($b = undef if $b eq '';). <br>Ja não funciona.<br><br>Se eu inserir algum valor em $b $a devera assumir o valor de $b, mas se não inserir devera assumir o valor de $c.<br><br>Se eu fizer apenas:<br>chomp (my $b = <>);<br>my $c = 'c';<br>my $a = defined($b) ? $b : $c;<br>print $a, "\n";<br><br>Não da certo.<br><br><br>Sim, eu sei que as formas abaixo funcionam, mas é apenas uma questão de estudo mesmo.<br><br>chomp (my $b = <>);<br>my $c = 'c';<br>my $a = $b ? $b : $c;<br>print $a, "\n";<br><br><br>chomp (my $b = <>);<br>my $c = 'c';<br>my $a = $b || $c;<br>print $a, "\n";<br><br>daria certo, mas minha intenção é estudo apenas<br>                                         </div></body>
</html>