develooper Front page | perl.perl5.porters | Postings from January 2003

Re: Checking if regex matches from XS

Thread Previous | Thread Next
Nick Ing-Simmons
January 19, 2003 08:32
Re: Checking if regex matches from XS
Message ID:
Dave Rolsky <> writes:
>I've read the Jenness/Cozens book and the various perldocs on XS, but I
>can find no hint of how to use the regex engine from XS.

It is tricky and risky - trying to use perl's regex engine 
to subsitute for Tcl's is one of the recurring porting issues 
with perl/Tk.

The main snag (as I recall) is that in perl you need an "OP" in order
to call some of regex engine.

>What I want to do is accept an SV containing either qr/.../ or regular
>string, and then check whether the specified regex matches the contents of
>another SV.
>If someone knows of a module that does this in XS, I'd be happy to be
>pointed at it.  Otherwise more explicit hints are welcome ;)
>Poking through the internals, I see the Perl_pregexec function in
>regexec.c, which seems like a likely start, but what the heck are the
>arguments?  What's screamer?  And how do I turn an SV into a regexp

Unless you _really_ need this I strongly recommend writing the 
"leaf" functions for this in perl and perl_call_sv()-ing them from your
XS code.

Unless Hugo wants to give us a clean interface?

>House Absolute Consulting
Nick Ing-Simmons

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About