Actually it doesn't matter which extension a file has. The content matters.
Usually perl modules only contain some functions, classes, methods, whatever, that can be used from a script afterwards. Evaluating such a module doesn't execute code normally.
That's different from common perl scripts, which actually do real work when being evaluated. You can include a script in another script as well (using require or do or whatever), but all the code inside the script will be executed as soon as it's being evaluated. Therefor it's not quite possible to include such a script somewhere else (in a test script, for example) just to be able to use functions that are defined by it.
How to fix that?
- Put the code that does the actuall work and needs to be tested in a module
- Introduce some bad hacks in your script that make it possible to be included somewhere without being executed
- For example make it only execute its stuff when it's called with a special parameter or whatever. This parameter will not be given when you only include the file somewhere
- Make other cruel hacks that let you get the actual definition of the sub that needs to be tested to eval it in the test script and test if afterwards
Of course there may be more possibilities, but I can't think of a clean solution that does not seperate the code that should be tested from the actual script.
Cheers, Flo
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.