I guess must be being thick here, but...

If you do not use use_ok, then what symbols are defined in or by the module prior to the compilation error is irrelevant, because the script that uses that module will be aborted:

C:\test>type Existant.pm package Existant; fi( 'A' == 'B' ) { print 'hi' } 1; C:\test>perl -le"use Existant; print 'Hi';" syntax error at Existant.pm line 2, near ") {" Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1.

So, if all you are going to do if the use_ok fails, is exit, you've gone to a lot of trouble for nothing.

And along the way you've thrown away all that nice information telling you what went wrong and where.

Any way I look at that, it is a net loss. And a major one that requires me to write another script or one-liner and run it in order to retrieve that information.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."

In reply to Re^7: Does anybody write tests first? by BrowserUk
in thread Does anybody write tests first? by amarquis

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":