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