#!/usr/bin/perl use posix; use strict; use warnings; use module1 ; package Pack1 ; # trying to pass package name as argument module1::assignvars($Pack1) # <--- passing package name to module print $Pack1::::var1 ,"\n" ; # <----should be "whatever would go here"; ###### ###### the following code would be in the module "module1" ###### #!/usr/bin/perl use posix; use strict; use warnings; package module1 ; sub assignvars { my $packagealias = shift ; # this doesnt work $packagealias::var1 = "whatever would go here"; return 1; } 1 ## end of script