Is there anyway I can do a using namespace for a particular loop like in c++;
( for functions not exported )
Below are a few dirty little tricks that can get you something similar, but I've never used them, and I'm not sure they are good practice...
Use at your own risk!
#!/usr/bin/perl
use strict; use warnings;
use File::Spec ();
for my $o ( 'File::Spec' ) { print 'tmpdir: ' . $o->tmpdir(), "\n"; print 'curdir: ' . $o->rel2abs( $o->curdir() ), "\n"; }
print '#' x 60, "\n";
do { print 'tmpdir: ' . $_->tmpdir(), "\n"; print 'curdir: ' . $_->rel2abs( $_->curdir() ), "\n"; } for 'File::Spec';
print '#' x 60, "\n";
{ local *tmpdir = sub { File::Spec->tmpdir(@_) }; print 'tmpdir: ' . tmpdir(), "\n"; }
print '#' x 60, "\n";
use import 'File::Spec' => qw( tmpdir rel2abs curdir );
print 'tmpdir: ' . tmpdir(), "\n"; print 'curdir: ' . rel2abs( curdir() ), "\n";
__END__
And here is the 'import.pm' module used in the final example above:
package import;
sub import { my $caller = caller(); my $package = shift; my $module = shift; foreach my $meth ( @_ ) { *{"${caller}::${meth}"} = sub { $module->$meth( @_ ) }; } }
1;
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>