Это работает для меня в 5.8 и 5.10, а в 5.12 мой код создает этот странный, не Qr объект:Как создать qr // в Perl 5.12 из C?
# running "print Dumper($regex)"
$VAR1 = bless(do{\(my $o = '')}, 'Regexp');
В то время как печать квартер // не создан мой код выглядит следующим образом:
# running "print Dumper(qr/foo/i)"
$VAR1 = qr/(?i-xsm:foo)/;
Мой код в основном:
REGEXP *rx = re_compile(pattern, flags);
SV *regex = sv_2mortal(newSVpv("",0));
sv_magic(regex, (SV*)rx, PERL_MAGIC_qr, 0, 0);
stash = gv_stashpv("Regexp", 0);
sv_bless(newRV((SV*)regex), stash);
Кто знает, как правильно создать регулярное выражение из строки в 5,12?
Убедитесь, что вы принимаете ваш ответ :) –
мне нравится, когда вы можете избавиться от магии. :) –
Я тоже! Это делает новый смысл более понятным. – kristina