perl 使用use utf8

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\n";
push (@arr1 ,$str);
}}; close LOG1;
print "\@arr1 is @arr1\n";
print "\n";
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 $_\n";$str=$_; next if ($str !~ /验证/);
print "\$str is $str\n";
push (@arr1 ,$str);
}}; close LOG1;
print "\@arr1 is @arr1\n";
print "\n";
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\n";
push (@arr1 ,$str);
}}; close LOG1;
print "\@arr1 is @arr1\n";
print "\n";
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!

上一篇:Kubernetes(k8s)容器运行时(CRI)


下一篇:HTML5之 离线数据存储