in reply to breaking apart program (and maybe DProf prob)

Couple of thoughts:
  1. I don't know whether you noticed that  $a =~ // matches anything, It evaluates to true even if $a is undef, although in this case a warning would be given. Not sure about your purpose of doing this.
  2. Use $main::var1 in an OO-style module violates the purpose of OO/encapsulation.