in reply to Package vs. plain file

As others have pointed out, the main purpose of packages is namespace management, but I wanted to point out that in your "with-package" version you are using the OO calling syntax, which is probably not what you want. I think what you want is

use Common; my $returnvalue = Common::somesub();
(Not use Common.pm;, btw.)

the lowliest monk