Material das aulas de Perl

Re: Material das aulas de Perl

by Marcelo Reis -
Number of replies: 0
Pessoal,

Sobre uma dúvida que ficou pendente da Aula 27: eu dei uma olhada no funcionamento das variáveis de matching ($` , $& e $'), a regra de preenchimento delas em substituições (s///) é idêntica.

Portanto, a ideia da sua solução para o exercício 2 que o professor sugeriu estava correta e havia apenas um problema: ele estava colocando na segunda parte da substituição a variável $`, o que estava incorreto - precisava ser colocada apenas a variável do matching dos espaços, que poderia ser tanto $& quanto $1, esse último se os espaços fossem capturados com ().

A versão com captura:

while (<STDIN>){
chomp;
s/(\s+)$/$1#/;
print $_ . "\n";
}

A versão do professor, corrigida:

while (<STDIN>){
chomp;
s/\s+$/$&#/;
print $_ . "\n";
}


** Uma outra coisa: ficamos na dúvida sobre a avaliação de matchings como este:

if($var =~ /EXPR/){
print "Matched!";
}

Mais precisamente, o que a avaliação de ($var =~ /EXPR/) devolve: ela devolve "1" se ocorre um casamento, e "undef" caso contrário.

[]s,