sub new {   my $Class = shift;   my %Param;   if (ref $_[0] eq 'HASH') {      %Param = %{$_[0]};   }   elsif (@_ & 1) {      die 'Statistics: not enough arguments ...';   }   else {      %Param = @_;   }   for (keys %Param) {      die "Statistics: invalid argument $_"         unless /^(SysInfo|ProcStats|MemStats|PgSwStats|NetStats|SockStats|DiskStats|DiskUsage|LoadAVG|Processes|TimePoint)$/;   }   my $Self = bless(\%Param,$Class);   return $Self; } sub getStats {   my $Param = shift;   my $Class = shift;   ...   ...