my_prog.pl ---------- use A use B if { A.just_print("hi") }else if { B.just_print("hello") } sub main_print(){ print @_; } A.pm ---- package A sub just_print(){ print @_; main::main_print(); <-- error } B.pm ---- package B sub just_print(){ print @_; main::main_print(); <-- error }