use strict; use warnings; use Cwd qw(); use 5.010; use Net::SMTP; use MIME::Lite; my $path = Cwd::cwd(); # Recovering General.ini parameters my $filename = "$path/General.ini"; chomp $filename; my $fh; my $val; my $parameter; my $Customer; my $Server; my $expediteur; my $destinataire; my $SMTP; my $svmonouput; my $alerte = 0; open($fh,'<',$filename) or die "Can't open the file $filename as read-only."; my @generalsparameter=<$fh>; foreach my $line (@generalsparameter) { my @values = split(/=/,$line); $parameter = $values[0]; $val = $values[1]; if ($parameter eq "Customer") { $Customer = $val; chomp($Customer); } elsif ($parameter eq "Server_name") { $Server = $val; chomp($Server); } elsif ($parameter eq "From_email") { $expediteur = $val; chomp($expediteur); } elsif ($parameter eq "Dest_email") { $destinataire = $val; chomp($destinataire); } elsif ($parameter eq "SMTP") { $SMTP = $val; chomp($SMTP); } } close($fh); # Using "svmon -P" to get RAM usage for a process $svmonouput = `svmon -P | grep $ARGV[2]`; my @ParsingOutput = split(/ {1,}/,$svmonouput); my $result = $ParsingOutput[2] * 4 / 1024; # Showing the result (will write this line into a file, later) print "$Customer;$Server;$ARGV[2];Memory;" . time . ";$ARGV[1];$result";