in reply to Re^3: Use and Require - making an informed choice.
in thread Use and Require - making an informed choice.

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".