[Rio-pm] fazer string ficar undef

Aureliano Guedes guedes_1000 em hotmail.com
Terça Janeiro 8 09:09:56 PST 2013


Renato, o motivo tambem não sei, mas varia de plataforma a plataforma, pode ser CR, LF, e CRLF.

Thiago, é apenas curiosidade.

Mas valeu a todos.

From: renato.cron em gmail.com
Date: Tue, 8 Jan 2013 15:05:10 -0200
To: rio-pm em pm.org
Subject: Re: [Rio-pm] fazer string ficar undef

o <> faz a leitura e retorna undef apenas se for o final do arquivo, geralmente os arquivos de texto terminam com uma linha só com "\n", não sei porque motivo!

2013/1/8 Aureliano Guedes <guedes_1000 em hotmail.com>






Valeu gente, agora entendi.

Mas então a única forma de tornar uma string undef quando não há nada no STDIN é fazendo: $b = undef if $b eq ''; ????

Ou tem outra forma??

my $b = <> || undef; não funcionaria, certo??



> Date: Tue, 8 Jan 2013 14:30:11 -0200
> From: jimmy.tty em gmail.com
> To: rio-pm em pm.org


> Subject: Re: [Rio-pm] fazer string ficar undef
> 
> Saudações Aureliano,
> 
> On Tue, Jan 08, 2013 at 03:43:10PM +0000, Aureliano Guedes wrote:
> [...]
> > Eu tenho o seguinte:


> > 
> > chomp (my $b = <>);
> > $b = undef if $b eq '';
> > my $c = 'c';
> > my $a = defined($b) ? $b : $c;
> > print $a, "\n";
> > 


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


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


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


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


> 
> -- 
> "Não manejo bem as palavras
> Mas manipulo bem as strings."
> ------------------------------
> http://tecnoveneno.blogspot.com


> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm


 		 	   		  

_______________________________________________

Rio-pm mailing list

Rio-pm em pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Saravá,

Renato CRONhttp://www.renatocron.com/blog/

@renato_cron


_______________________________________________
Rio-pm mailing list
Rio-pm em pm.org
http://mail.pm.org/mailman/listinfo/rio-pm 		 	   		  
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20130108/7e6b6b83/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm