package CBE; use warnings; use strict; my $pop3 = 'pop3.server'; my $login = 'email@adress'; my $pass = 'password'; my $number = 'phone_number'; sub check { my $last; if( -e 'num' ){ open(NUM, "num"); $last = int(); } else { open(NUM, ">>num"); $last = '0'; } close NUM; my $pop = Net::POP3->new($pop3) || die("Can't connect"); my $now = $pop->login($login, $pass) || die("Can't connect"); if ($last < $now){ my $msg = $pop->get($now); my $auth; for my $line (@$msg){ if( $line =~ /(<$number@(.*)>)$/ ){ $auth = '1'; } } while( my $line = shift @$msg ) { last while $line =~ /^Status:/; } chomp(@$msg); my $string = @$msg[1]; if(@$msg[1] =~ /=(.*)=/){ my @arr=split(/=(.*)=/,$1); if (system(`$arr[0]`)){ &log_save($arr[0],'yes'); } else { &log_save($arr[0],'no'); } } } open(WRI, ">num"); print WRI $now; close WRI; $pop->quit; sleep 5; } sub log_save { my $log = shift; my $status = shift; open(LOG, '>>log.txt'); print LOG "Command: $log\n"; print LOG "Date: ".localtime()."\n"; print LOG "Success: $status\n"; print LOG "-----------\n"; close LOG; }