[Cascavel-pm] Teste para "Perl Job Developer"

Eden Cardim edencardim em gmail.com
Terça Janeiro 2 06:32:46 PST 2007


On 1/2/07, Solli Honorio <shonorio em gmail.com> wrote:
>
> > > Lí o perlre neste ponto e fiquei mais confuso ainda... primeiro sobre o
> > > código "(?:SEEKING)?". De cara eu pensei que o "SEEKING" fosse uma
> palavra
> > > reservada, mas pelo jeito não é. Esta palavra está aí para nada ? Ou
> está
> > > apenas tentando dar um match nesta palavra, que não existe ?
> >
> > Sim, ele está tentando dar um match opcional na palavra SEEKING.
> > A palavra precisa ser agrupada, pro quantificador ? operar sobre a
> > palavra inteira.
>
> Então eu posso ler o comando
> "s/(?:SEEKING)?/PERLqny~%|fsyx%~tz&/" da seguinte maneira :
> substitua o agrupamento SEEKING ou qualquer outra coisa da variável $_ para
> PERLqny~%|fsyx%~tz&.

Qualquer outra coisa não, se der match na palavra SEEKING, vai
substituir só esta palavra, senão substitui tudo. Experimenta isso:

perl -e'$_="foo"; print if s/(?:SEEKING)?/bar/;'

perl -e'$_="SEEKINGfoo"; print if s/(?:SEEKING)?/bar/;'


> Eu poderia alterar isto para "s//PERLqny~%|fsyx%~tz&/"
> com o mesmo resultado, mas sem esta pseudo confusão, certo ?

O código acima deve responder essa pergunta.

-- 
Eden Cardim
Instituto Baiano de Biotecnologia
Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas
Laboratório de Bioinformática
--
"you seem to think that 'close enough' is close enough...
please learn to be 'literal' around programming."
merlyn - on irc.freenode.net#perl


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