Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

(bbfu) (output/side-effects) Re(2): Preventing BEGIN blocks from being run in the debugger?

by bbfu (Curate)
on May 25, 2001 at 07:37 UTC ( #83221=note: print w/replies, xml ) Need Help??

in reply to Re: Preventing BEGIN blocks from being run in the debugger?
in thread Preventing BEGIN blocks from being run in the debugger?

That would probably work for the output, though bikeNomad mentioned that he could just use another filehandle for the output. It wouldn't, however, work for the side-effects, which I gathered to be the greater of the two problems.

Unfortunately, I don't think that there's any way to stop the BEGIN blocks running, short of pre-parsing the file, inserting return() calls as the first instruction in the BEGIN block before loading the modified code into the debugger. Of course, that means that you have to try to parse Perl code yourself, which defeats the original purpose. *shrug* And, of course, that doesn't even come close to handling things like use.

But, honestly, for the code to be parsed correctly at all, some compile-time execution is probably unavoidable. Otherwise you wouldn't get your import's set up correctly and all that. Perhaps all one can do is hide any output from the compile-time code and hope for the best. *sigh* Maybe this kind of thing will get easier when Perl 6 comes around.

Seasons don't fear The Reaper.
Nor do the wind, the sun, and the rain.
We can be like they are.

  • Comment on (bbfu) (output/side-effects) Re(2): Preventing BEGIN blocks from being run in the debugger?
  • Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://83221]
[choroba]: they
[LanX]: why do you think it's more than one person?
[Your Mother]: Because we are LEGION! Fix YOUR SIG SIG BLOCK!!!!
[Your Mother]: Forgot to sign in as my sockpuppet, how embarrassing!
[1nickt]: pryrt I am creating a Type to check valid user IDs, which must be a whole number greater than or equal to zero. I would like to disallow 1.0 but because of this behaviour, by the time it is checked by the constraint, it *is* an Int.
[LanX]: should this be considered? Re: Parsing .txt into arrays
[LanX]: and this Re^4: Hash user input
[pryrt]: LanX, I would vote "keep" if it were considered: it's not helpful, but it could be taken multiple ways, not all of which are offenseive...
[pryrt]: 1nickt: if you are checking for valid user IDs, then I wouldn't care about the difference between 1.0 and 1: I would take either as a valid representation of the integer user ID#1
[LanX]: and this Re^2: extract column data

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (14)
As of 2017-05-24 20:14 GMT
Find Nodes?
    Voting Booth?