Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Being Forced to Fork with Nested Regular Expressions

by mnc (Beadle)
on Jan 05, 2004 at 05:18 UTC ( [id://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.).

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (2)
As of 2024-04-20 06:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found