Questo ha lavorato per me in 5.8 e 5.10, ma in 5.12 mio codice crea questo strano oggetto non qr:Come posso creare un qr // in Perl 5.12 da C?
# running "print Dumper($regex)"
$VAR1 = bless(do{\(my $o = '')}, 'Regexp');
Mentre la stampa di un qr // non creato da mio codice è simile al seguente:
# running "print Dumper(qr/foo/i)"
$VAR1 = qr/(?i-xsm:foo)/;
Il mio codice è fondamentalmente:
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);
Qualcuno sa come creare correttamente un regex da una stringa a 5.12?
Assicurati di accettare la tua risposta :) –
Mi piace quando si può sbarazzarsi di magia. :) –
Anch'io! Ha molto più senso nel nuovo modo. – kristina