http://qs321.pair.com?node_id=279066


in reply to Re: Altering regular expression trees
in thread Altering regular expression trees

You could try trapping the output using IPC::Open3. I do this for various deparse things, something like this will get the data for you. There is obviously neater ways to handle the data coming in, but for this example it works.
use strict; use IPC::Open3; + + my $debug = open3(\*WRITE, \*READ, \*ERROR, "perl -Mre=debug -e 'qr/.. +./'"); #old incorrect stuff :) #while (<READ>||<ERROR>) { # my (@read, @error) = (<READ>, <ERROR>); # print "READ: @read\n"; # print "ERROR: @error\n"; #} print <ERROR>; close(\*WRITE, \*READ, \*ERROR);
If doing the above is 'naughty' in any way please tell me, I have no idea of the plethora of caveats it possibly entails :)

UPDATE: Thanks diotalevi, I overlooked that. If you take out the while loop and just simply print <ERROR>; it will show what it is meant to for the intended purpose, I had other uses on my mind at the time, one of which was obviously to stuff it up :) Have ammended code as such.