Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

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.

  • 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.
  • 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.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://711433]
[LanX]: but I#d be interested to see a demonstration in your scratchpad
[LanX]: # python scoping bug
[shmem]: see my scratchpad. Look for userDict

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (10)
As of 2018-03-20 18:02 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (256 votes). Check out past polls.