jrhapt12:/home/tomcat> cat a1.pl
use Encode;
$phone='18072722237';
open (LOG1 ,"<",'/usr/local/apache-tomcat-7.0.55_8082/logs/catalina.out') or die $!;
while (<LOG1>) {
#2016-03-09 09:35:12,380 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为132435,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
if ( ($phone) and ($_ =~/$phone/) and ($_ =~/SMSUtils/) ){$str=$_;
next if ($str !~ /验证/);
print "$str is $str
";
push (@arr1 ,$str);
}};
close LOG1;
print "@arr1 is @arr1
";
print "
";
jrhapt12:/home/tomcat> perl a1.pl
$str is 2016-05-01 07:34:45,429 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为344401,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
@arr1 is 2016-05-01 07:34:45,429 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为344401,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
加上use utf8后,再测试:
jrhapt12:/home/tomcat> cat a1.pl
use Encode;
use utf8;
$phone='18072722237';
open (LOG1 ,"<",'/usr/local/apache-tomcat-7.0.55_8082/logs/catalina.out') or die $!;
while (<LOG1>) {
#2016-03-09 09:35:12,380 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为132435,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
if ( ($phone) and ($_ =~/$phone/) and ($_ =~/SMSUtils/) ){print "$_ is $_
";$str=$_;
next if ($str !~ /验证/);
print "$str is $str
";
push (@arr1 ,$str);
}};
close LOG1;
print "@arr1 is @arr1
";
print "
";
jrhapt12:/home/tomcat> perl a1.pl
$_ is 2016-05-01 07:34:45,429 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为344401,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
@arr1 is
此时没有输出,需要编码转换:
jrhapt12:/home/tomcat> cat a1.pl
use utf8;
use Encode;
$phone='18072722237';
open (LOG1 ,"<",'/usr/local/apache-tomcat-7.0.55_8082/logs/catalina.out') or die $!;
while (<LOG1>) {
#2016-03-09 09:35:12,380 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为132435,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
if ( ($phone) and ($_ =~/$phone/) and ($_ =~/SMSUtils/) ){$str=$_;
my $d=encode_utf8('验证');
next if ($str !~ /$d/);
print "$str is $str
";
push (@arr1 ,$str);
}};
close LOG1;
print "@arr1 is @arr1
";
print "
";
jrhapt12:/home/tomcat> perl a1.pl
$str is 2016-05-01 07:34:45,429 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为344401,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!
@arr1 is 2016-05-01 07:34:45,429 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为344401,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!