<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'>
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 id="SkyDrivePlaceholder"></div><hr id="stopSpelling">From: renato.cron@gmail.com<br>Date: Tue, 8 Jan 2013 15:05:10 -0200<br>To: rio-pm@pm.org<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 class="ecxgmail_quote">2013/1/8 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com">guedes_1000@hotmail.com</a>></span><br>

<blockquote class="ecxgmail_quote" 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">jimmy.tty@gmail.com</a><br>> To: <a href="mailto:rio-pm@pm.org">rio-pm@pm.org</a><br>

> Subject: Re: [Rio-pm] fazer string ficar undef<div><div class="h5"><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">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">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
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm</div>                                    </div></body>
</html>