package MailReader; BEGIN { push @INC, "U:\Perl"; } use Moose; use Harmless; use Critical; use UnSeen; has 'severity' => ( is => 'rw', isa => 'Str', default => 'unknown' ); has 'mailbody' => ( is => 'rw', isa => 'Str' ); sub parse_body { my $self = shift; # Look for Segmentation faults my $cm = Critical->new(data => $self->mailbody()); $cm->analysis(); if ($cm->is_critical) { $self->severity('critical'); return $cm; } # harmless my $hl = Harmless->new(data => $self->mailbody()); $hl->analysis(); if ($hl->is_harmless) { $self->severity('harmless'); return $hl; } # Still here then not seen this before my $us = UnSeen->new(data => $self->mailbody()); $us->analysis(); $self->severity('unknown'); return $us; } __PACKAGE__->meta->make_immutable; 1;