Well, the exporting needs to happen at use(BEGIN) time , so if you don't want to use use, you have to wrap require/importing in BEGIN {} , or delay compilation of print_throws_simple(generate_throws_simple($a,$b)); with eval q{ }
I suggest you do whatever it takes to be able to use use
Comment on Re^5: Undefined subroutine - newbie problem