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<