I'm not OO Perl guru but in constructor (
new sub) You declared
$self as hashref but seems to me that You never initialize referred hash. All items like
$self->{SUBJECT} or
$self->{SUBJECT} are always undefined because You never assign something to them.
Then when calling You should do
PL::Mail->new();