zase perlre dotaz

Pavel Šmerk xsmerk na informatics.muni.cz
Čtvrtek Srpen 9 14:00:08 MEST 2001


    Zdravi vespolek,

zase mam problem/otazku:

...$ cat a.pl
#!/usr/bin/perl -w
use strict;
$_ = "axbcx";
print join ("|", /^(?:(b)x|(a)x|(bc)x)+$/), "\n";
print join ("|", /^(?:(b)x|(bc)x|(a)x)+$/), "\n";
$^W = 0;
print join ("|", /^(?:(a)x|(b)x|(bc)x)+$/), "\n";
print join ("|", /^(?:(a)x|(bc)x|(b)x)+$/), "\n";
print join ("|", /^(?:(bc)x|(a)x|(b)x)+$/), "\n";
print join ("|", /^(?:(bc)x|(b)x|(a)x)+$/), "\n";

...$ ./a.pl
b|a|bc
b|bc|a
a||bc
a|bc|
bc|a|
bc||a

Jaktoze se v tech prvnich dvou pripadech namatchuje i (b)? To perl
naplnuje $1 a spol., i kdyz prislusnou 'cestou' nakonec nejde? A proc se
(b) nenamatchuje ve tretim pripade, kdy je taky (b) pred (bc)?

Diky

P.



Další informace o konferenci Perl