package MyModule2;
use strict;
use Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = ();
@EXPORT_OK = qw(func3 func4);
%EXPORT_TAGS = ( DEFAULT => [qw(&func3)],
All => [qw(&func3 &func4)]);
my $myscalar = "MyScalarValue";
sub func3 {
my $x;
my $y;
printf "MyModule2/func3: >%s<\n",$_[0];
$x = eval "$_[0]";
return $x;
}
sub func4 {
my $x;
my $y;
printf "MyModule2/func4: >%s<\n",$_[0];
$x = eval "$_[0]";
$y = $myscalar;
return $x;
}
1;
####
#!/usr/bin/perl -w
use strict;
use MyModule2 qw(:All);
printf "MyScript2/func3: >%s<\n",func3('$myscalar');
printf "MyScript2/func4: >%s<\n",func4('$myscalar');
####
perl MyScript2.pl
MyModule2/func3: >$myscalar<
Use of uninitialized value in printf at MyScript2.pl line 7.
MyScript2/func3: ><
MyModule2/func4: >$myscalar<
MyScript2/func4: >MyScalarValue<