Problem se nenazranym kvantifikatorem v Perlu

Karel Zak zakkr na zf.jcu.cz
Pondělí Únor 5 11:08:15 CET 2001


On Mon, 5 Feb 2001, Borek Lupoměský wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
>    Hi all,
> 
>    V perlu potrebuji najit v retezci vse za posledni teckou. Teoreticky
> jednoducha vec -- ale nefunguje, operator '*?' se chova nenazrane, tj.
> stejne jako '*':
> 
> ~$ perl
> $a = "aa.bb.cc";
> $a =~ /\.(.+?)$/;
> print $1, "\n";
> bb.cc
> 

<JOKE-WITHOUT-FLAME>

 Navrhuji toto Perl reseni ($ = prikazova radka linux konzole):

$ printf "#include <string.h>\nmain(int argc, char **argv){char *x=strrchr(
  argv[1], '.'); puts(x ? ++x : \"\"); exit(0);}" > x.c; gcc -o x x.c

$ perl -e "system (\"./x aa.bb.cc\")"
cc

</JOKE-WITHOUT-FLAME>

... je-li $a =~ /\.(.+?)$/; a tim i tisice radek kodu ktery tuto radku
analyzuje standardni metoda nalezeni tecky tak doporucuji zakazat Perl...

			Karel
 



Další informace o konferenci Linux