El Monday, 2 de November de 2009 16:20:21 Ferran Fontcuberta va escriure:
> Ho conec, però així funciona:
>
> perl -e 'print $1 if "foo bar" =~ /(?: (bar)?)/'

Demanes que e trobe un espai partint de la posicio actual seguit de res o bar 
i si  hi ha un espai a "foo bar" mostra a la sortida  [0 o 1] "bar"

> i així no:
>
> perl -e 'print $1 if "foo bar" =~ /(?:(bar)?)/'

Demanes que partint de la posicio actual [0] trobes res o bar ( es compleix a 
tots els strings) i mostra a la sortida estàndard que ha fet que la 
comparacio sigui certa 

Funcionen les dues i si les crides amb warnings activats es veu l'error 
subjacent a la segona.

el que demanes en realitat es 
perl -e 'print $1 if "foo bar" =~ / (bar)/'
o
perl -e 'print $1 if "foo bar" =~ /(bar)/'
--
_______________________________________________
Comandob mailing list
[email protected]
http://lists.badopi.org/mailman/listinfo/comandob

Responder a