Aureliano, veja que divertido:<div><br></div><div><div>open (my $file,"<",'/dev/null');</div><div><br></div><div>my $a = <$file>;</div><div><br></div><div>close($file);</div><div><br></div><div>use Data::Dumper;</div>

<div>print Dumper $a;</div><div><br></div><div>isso vai retornar undef, mas</div><div><br></div><div><div>open (my $file,"<",'/dev/null');</div><div><br></div><div>while(my $a = <$file>){</div>
<div>
<span class="Apple-tab-span" style="white-space:pre"> </span>print "a=$a";</div><div>}</div><div><br></div><div>close($file);</div></div><div><br></div><div>isto NÃO imprime nada. o while nem chega a executar pois undef é um valor considerado "falso".</div>

<div><br></div><div>rode em um ambiente unix.</div><br><div class="gmail_quote">2013/1/8 Tiago Peczenyj <span dir="ltr"><<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p>na duvida analise o retorno com Data::Dumper</p>
<p>ex:</p>
<p>use Data::Dumper;<br>
my $a= <>;<br>
print Dumper $a;</p>
<div class="gmail_quote">Em 08/01/2013 15:10, "Aureliano Guedes" <<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>> escreveu:<div><div class="h5"><br type="attribution">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div><div dir="ltr">
Renato, o motivo tambem não sei, mas varia de plataforma a plataforma, pode ser CR, LF, e CRLF.<br><br>Thiago, é apenas curiosidade.<br><br>Mas valeu a todos.<br><br><div><div></div><hr>From: <a href="mailto:renato.cron@gmail.com" target="_blank">renato.cron@gmail.com</a><br>


Date: Tue, 8 Jan 2013 15:05:10 -0200<br>To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>Subject: Re: [Rio-pm] fazer string ficar undef<br><br>o <> faz a leitura e retorna undef apenas se for o final do arquivo, <div>


geralmente os arquivos de texto terminam com uma linha só com "\n", não sei porque motivo!<br><br><div>2013/1/8 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span><br>




<blockquote style="border-left:1px #ccc solid;padding-left:1ex">


<div><div dir="ltr">
Valeu gente, agora entendi.<br><br>Mas então a única forma de tornar uma string undef quando não há nada no STDIN é fazendo: $b = undef if $b eq ''; ????<br><br>Ou tem outra forma??<br><br>my $b = <> || undef; não funcionaria, certo??<br>




<br><div><div></div>> Date: Tue, 8 Jan 2013 14:30:11 -0200<br>> From: <a href="mailto:jimmy.tty@gmail.com" target="_blank">jimmy.tty@gmail.com</a><br>> To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>




> Subject: Re: [Rio-pm] fazer string ficar undef<div><div><br>> <br>> Saudações Aureliano,<br>> <br>> On Tue, Jan 08, 2013 at 03:43:10PM +0000, Aureliano Guedes wrote:<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>




> > Funciona perfeitamente, mas o que não entendo é porque se eu remover a segunda<br>> > linha ($b = undef if $b eq '';).<br>> > Ja não funciona.<br>> Assim como o Renato Santos já mencionou, uma string vazia é "defined",<br>




> logo, se fizermos:<br>> <br>>     my $c = 'c'; <br>>     my $b = ''; <br>>     my $a = defined $b ? $b : $c; <br>>     print '<'.$a.'>';<br>> <br>> o resultado será "<>"<br>




> <br>> Para o problema que você mencionou, o que parece querer testar de fato é<br>> se há algum valor na string diferente de "undef" e de vazio:<br>> <br>>     my $c = 'c'; <br>>     my $b = ''; <br>




>     my $a = defined $b && $b ne '' ? $b : $c;<br>>     print '<'.$a.'>';<br>> <br>> em outras palavras, qualquer coisa diferente de undef e vazio seriam<br>> atribuídos a "$a".<br>




> <br>> -- <br>> "Não manejo bem as palavras<br>> Mas manipulo bem as strings."<br>> ------------------------------<br>> <a href="http://tecnoveneno.blogspot.com" target="_blank">http://tecnoveneno.blogspot.com</a><br>




> _______________________________________________<br>> Rio-pm mailing list<br>> <a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>




</div></div></div>                                      </div></div>
<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><span style="color:rgb(51,51,51);font-size:x-small">Saravá,</span></div>




<div><span style="color:rgb(51,51,51);font-size:x-small">Renato CRON</span></div><div><div style="text-align:right"><font color="#333333" size="1"><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a></font></div>




</div><div style="text-align:right"><font color="#333333" size="1"><a href="http://twitter.com/#%21/renato_cron" target="_blank">@renato_cron</a></font></div>
</div>
<br>_______________________________________________
Rio-pm mailing list
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a></div>                                           </div></div>
<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Tiago B. Peczenyj<br>Linux User #405772<br><br><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a>
</div>