Thanks, I hadn't come across autouse before, and it would certainly solve the problem of scattering requires through ones code to have:
use autouse 'This::Module';
use autouse 'That::Module';
At the top of the code. Interestingly though, autouse fails in this particular instance where my quick (and perhaps OO centric) kludge up didn't, because DDS implements an import method:
autoused module has unique import() method at autouse.pl line 5
with the following code:
use strict;
use warnings;
use autouse 'Data::Dump::Streamer'=>qw(Dump);
use autouse 'No::Such::Module';
print "foo\n";
my %hash = ( 1=>'one',
2=>'two',
3=>'three' );
Dump(%hash);
my $dds = Data::Dump::Streamer->new;
$dds->Dump(%hash)->Out();
Note: I'd tried both OO & non OO interface, hence the inclusion of two calls to Dump - with the Dump(%hash); line commented out it fails with:
Can't locate object method "new" via package "Data::Dump::Streamer" (p
+erhaps you forgot to load "Data::Dump::Streamer"?) at autouse.pl line
+ 15.
--------------------------------------------------------------
"If there is such a phenomenon as absolute evil, it consists in treating another human being as a thing."
John Brunner, "The Shockwave Rider".
|