Come for the quick hacks, stay for the epiphanies. | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
My habit in any language, going back many years, has been to debug using the equivalent of print() and so I did at first in Perl. I appreciate the convenience of say(); it allows me to concentrate on properly quoting what I wish to say, without hanging , qq{\n} to the end of the statement. Print-debug statements must be disabled in production. One may comment them out individually but some can be missed. For a time, I felt more secure writing, e.g.:
But that's too much work and leads to other difficulties. When I learned of it, I enthusastically adopted Smart::Comments, which permits:
... with the same effect as the say() code above; except that disabling is simpler and can also be more flexible. Complex structures are dumped (internally using Data::Dumper) in exactly the same way. (Please see In Defense of Smart::Comments.) The big fat shorcoming is that all smart output goes to STDERR. So, I forked S::C into Devel::Comments, which permits output to be sent to one's choice of output streams or files. Other features are planned. Needless to say, in future, this will be my first choice.
We don't need the conch anymore. We know who ought to say things.... It's time some people knew they've got to keep quiet and leave deciding things to the rest of us.
In reply to Re: I usually debug via...
by Xiong
|
|