in reply to if only blocks were avoidable...

Not quite sure if i am following you, but have you tried require instead? The "problem" with use is that no matter where it is, the module will be loaded. Consider this:
if (0) { use CGI qw(:standard); } print header,"\n";
Which does load CGI.pm and no compile error happens because there really is a header() method available. Try using require instead.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)