này đã làm việc cho tôi trong 5.8 và 5.10, nhưng trong 5,12 mã của tôi tạo ra đối tượng này lạ không qr:Làm cách nào để tạo qr // trong Perl 5.12 từ C?
# running "print Dumper($regex)"
$VAR1 = bless(do{\(my $o = '')}, 'Regexp');
Trong khi in một qr // không được tạo ra bởi mã của tôi trông như thế này:
# running "print Dumper(qr/foo/i)"
$VAR1 = qr/(?i-xsm:foo)/;
mã của tôi về cơ bản là:
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);
Bất cứ ai cũng biết làm thế nào để tạo ra một cách chính xác một regex từ một chuỗi trong 5,12?
Hãy chắc chắn rằng bạn chấp nhận câu trả lời của bạn :) –
tôi thích nó khi bạn có thể thoát khỏi ảo thuật. :) –
Tôi cũng vậy! Nó có ý nghĩa hơn rất nhiều theo cách mới. – kristina