in reply to Undiagnosable Problem

You say you have Plx.pm, but it states package PLX;.

Most likely, you have PLX.pm and you have two use statements, one for use Plx; and one for use PLX;. You should only use the latter because Perl will happily redefine the names within the package PLX if you load a file "twice". Since Perl assumes that filenames are case-sensitive, it makes a difference between PLX.pm and Plx.pm even though your file system happily serves up the same file under these two names.