|Think about Loose Coupling|
Re: Debug code out of production systemsby dbwiz (Curate)
|on Jan 24, 2004 at 23:38 UTC||Need Help??|
Thanks for writing this pragma. I like the idea and I have started using it immediately.
However, I don't like the name and I am sure that many others will object about it. While it is clear how it does the trick, it is really misleading about what the pragma does.
I would rather have a debug pragma, and a quick search and replace in your module shows that it can be done, so that a sample code would look like the following:
And when I call it with this pragma, it works just fine.
You could also implement it as a pragma with two parameters, one for the tag and one for the label to activate. Possible names would be "podebug," "debugpod," "tagdebug," or "debpod." Not really suggesting, just brainstorming.
Anyway, with this enhanced pragma, I would call my script as
However, I should point out a possible problem. The following code contains valid POD but the embedded code doesn't get executed by the "begin" pragma. Not only that, but also the code after the POD block disappears.
Using the "begin" pragma, this code will only print "before\n". You should either fix it or amend the docs about this risk.