in reply to Extremely weird module issue...

Try starting your pod with a =pod line. This snippet from the Switch source will explain:
my $pod_or_DATA = qr/ ^=(?:head[1-4]|item) .*? $CUT | ^=pod .*? $CUT | ^=for .*? $EOP | ^=begin \s* (\S+) .*? \n=end \s* \1 .*? $EOP | ^__(DATA|END)__\n.* /smx;