Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^3: How to grab Parse::RecDescent error output in a variable?

by ikegami (Pope)
on Sep 15, 2008 at 12:00 UTC ( #711433=note: print w/ replies, xml ) Need Help??


in reply to Re^2: How to grab Parse::RecDescent error output in a variable?
in thread How to grab Parse::RecDescent error output in a variable?

Regardless of what the documentation says about use being equivalent to require Module; import Module;, this example shows that it is not the case this time.

Not true. The documentation doesn't say that. Both the documentation and I said use Module; is equivalent to

BEGIN { require Module; import Module; }

And that is clearly the case this time.

Besides that, your re-open of ERROR requires knowledge of the package internals

So does knowing STDERR is duped at execution time. Besides, the benefits far outweigh the drawbacks. Well, if it had worked.

Benefits
  • Works with scalar handles.
  • Much cleaner code in the caller.
  • In fact, one can arrange to have no extra code in the caller since it can be placed in the "grammar".
  • Works even if use Parse::RecDescent; is executed twice.
  • Works with threads.
Drawbacks
  • Minor reliance on stable PRD guts.
  • Doesn't work. Oops!

Clearly format has a side-effect that prevents the use of the nice solution this time.

Ah dang! You could issue the format on the new handle, but that's going pretty far into the inards.


Comment on Re^3: How to grab Parse::RecDescent error output in a variable?
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-12-22 10:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (116 votes), past polls