Ok. I may be opening Pandora's box on this one, but if you wish to force a calling module to use strict and use warnings, then this will do the trick for perl 5.8.0...WARNING...I cannot guarntee this code will work for all versions of perl since the handling of strict and warnings has changed over the years and may continue to change...DO NOT USE IN PRODUCTION CODE:
package strictandwarnings; sub import { shift; $^H = 1538; # turn on strict $^W = 1; # turn on warnings } 1;
This is a dirty dirty hack. Check out perldoc perlvar for information on the variables used. Instead of making them use this module to get them to use strict and warnings, try a cattle prod. It worked at my office.
Update: But this does the trick and isn't as bad...unless strict->import() and warnings->import() stop returning the value of $^H and ${^WARNING_BITS}, respectively:
package strictandwarnings; sub import { require strict; $^H = strict->import(); require warnings; ${^WARNING_BITS} = warnings->import(); }
antirice
The first rule of Perl club is - use Perl
The ith rule of Perl club is - follow rule i - 1 for i > 1
In reply to Re: How do I make one package use a module from another package?
by antirice
in thread How do I make one package use a module from another package?
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |