On Sat, 11 Jun 2011 13:23:56 +0300, Ivan Petrov wrote:
<кусь>
Sequence (?1...) not recognized in regex; marked by <-- HERE in m/(
\{ (?>[^{}]*) (?:\}\d*|(?1 <-- HERE ) \} \d*) )/
это Вы что-то не так скопипастили:
Спасибо.
Перепроверил по вашему образцу.
$ perl test.pl
$VAR1 = [
'{any symbol}',
'{any symbol}1',
'{sym{bol{}}}4'
];
$ cat test.pl
#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
my $str = '{any symbol}{any symbol}1{any {sym{bol{}}}4';
my @items = $str =~ /( \{ (?>[^{}]*) (?:\}\d*|(?1) \} \d*) )/gx;
print Dumper \@items;
Всё равно та же ошибка.
По всей видимости у Вас версия Perl поновее будет.
Я сам в раздумьях подобрать эквивалент (?1),
пока не соображу...
(?\1) --- не подходит
(?$1) --- результат не тот
$VAR1 = [
'{any symbol}',
'{any symbol}1',
'{}'
];
У меня:
$ perl -v
This is perl, v5.8.8 built for i386-linux-thread-multi
(with 2 registered patches, see perl -V for more detail)
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org