This is so very true. I had a problem once where I wrote a huge script and embedded lots of code like this:
print DEBUGOUT "blah blah debug message blah" if DEBUGGING;
And the code worked great in debug mode. But for the real thing I didn't want this huge debug log being generated so I flipped the bit, so to speak, and the thing stopped working. I spent a day trying to figure out why it only worked in debug mode... hehe the line at fault looked a little like this:
print DEBUGOUT "key=$a, value=$b\n" while( ($a, $b) = each %hash and D
+EBUGGING );
The problem? When I'm debugging the code the each iterator was able to go all the way through, but when I'm not debugging, the each iterator gets run once and then stops. When I need it later, I'm off by one. Ooops. By the way, while I could have fixed this by swaping the order inside the while predicate, I opted to follow a fellow Monk's advice and used Data::Dumper
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|