Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Being Forced to Fork with Nested Regular Expressions

by mnc (Beadle)
on Jan 05, 2004 at 05:18 UTC ( #318784=note: print w/ replies, xml ) Need Help??


in reply to Being Forced to Fork with Nested Regular Expressions

This

my $code = <<END_CODE; owns(merlyn,gold). owns(ovid,books). owns(kudra,gold). valuable(perl). valuable(gold). valuable(corinna). query :- owns(X,Y), valuable(Y), writef('["%t", "%t"], ',[X,Y]). main :- writef('[ '), bagof(_,query,_), writef(']\n'). END_CODE my $tmpfile = "deleteme.pro"; open(TMP,">$tmpfile"); print TMP $code; close(TMP); my $result = `pl -q -f deleteme.pro -t main`; unlink($tmpfile); print $result;
yields this
[ ["merlyn", "gold"], ["kudra", "gold"], ]
using SWI-Prolog. Perl is great at generating code, handing it to an industrial-strength backtracking engine, and scraping the result (though there is also Language::Prolog::Yaswi et.al.).


Comment on Re: Being Forced to Fork with Nested Regular Expressions
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://318784]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (5)
As of 2014-09-16 02:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (155 votes), past polls