Esto ha estado trabajando para mí en 5.8 y 5.10, pero en 5,12 mi código crea este objeto no qr raro:¿Cómo puedo crear un qr // en Perl 5.12 desde C?
# running "print Dumper($regex)"
$VAR1 = bless(do{\(my $o = '')}, 'Regexp');
Mientras que la impresión de un qr no // creado por mi código es el siguiente:
# running "print Dumper(qr/foo/i)"
$VAR1 = qr/(?i-xsm:foo)/;
Mi código es básicamente:
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);
Alguien sabe cómo crear correctamente una expresión regular de una cadena en 5.12?
Asegúrese de que acepta su respuesta :) –
me gusta cuando usted puede deshacerse de la magia. :) –
Yo también! Tiene mucho más sentido la nueva forma. – kristina