package test; foreach ( 1..3 ){ print "Here: '$1'.\n"; } 1; #### unshift @INC, '.'; my $var = "abc123def"; $var =~ /(\d+)/; require test; #### Here: '123'. Here: '123'. Here: '123'. #### $var = 'foobar'; $var2 = ( $var =~ /(foo)(bar)/); print $var2; #### foreach $sym (@imports) { # shortcut for the common case of no type character (*{"${callpkg}::$sym"} = \&{"${pkg}::$sym"}, next) unless $sym =~ s/^(\W)//; $type = $1; *{"${callpkg}::$sym"} = $type eq '&' ? \&{"${pkg}::$sym"} : $type eq '$' ? \${"${pkg}::$sym"} : $type eq '@' ? \@{"${pkg}::$sym"} : $type eq '%' ? \%{"${pkg}::$sym"} : $type eq '*' ? *{"${pkg}::$sym"} : do { require Carp; Carp::croak("Can't export symbol: $type$sym") }; } #### $var = '$varnameA'; $var =~ s/^(\W)//; print "Symbol: $1\tVariable: $var\n"; #### Symbol: $ Variable: varnameA