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!

perl 使用use utf8的更多相关文章

  1. Perl中文/unicode/utf8/GB2312之间的转换

    参考:http://daimajishu.iteye.com/blog/959239不过具测试,也有错误:原文如下: # author: jiangyujieuse utf8;  ##在最后一个例子, ...

  2. Perl中的正则表达

    前几天用到了Perl语言,主要看了一下Perl中的正则表达式,在各种网页语言中,正则表达式在处理字符串的时候十分有用,所以这里就简单说一下在Perl中正则表达式的应用. 先上代码 #!/usr/bin ...

  3. 关于ASCII,Unicode和UTF-8

    自己也不是很明白这些编码,百度了一下,整理出来与大家分享分享,在此感谢作者. 先说说这些编码 ANSI:最早的时候计算机ASCII码只能表示256个符号(含控制符号),这个字符集表示英文字母足够,其中 ...

  4. UTF-8的BOM含义

    BOM的介绍 在github上写md文件的时候,发现生成自己blog时,报出一个错误是让使用UTF-8编码,然后在Notepad++上把文件转成UTF-8时,发现菜单中有"UTF-8无BOM ...

  5. UTF8最好不要带BOM

    摘自:http://www.cnblogs.com/findumars/p/3620078.html   几周前还在为BOM的问题苦恼着...正如@梁海所说,“不含 BOM 的 UTF-8 才是标准形 ...

  6. UTF8最好不要带BOM,附许多经典评论

    UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM.所以不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯(顺便提一 ...

  7. UTF8文件带BOM引起的问题

    起因是公司iOS端竟然加载除了HTML代码,百思不得其解,查文献,原来如此... UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM.所以不含 BOM 的 UTF ...

  8. 关于BOM UTF8

    这三篇可以看下: http://www.zhihu.com/question/20167122 http://www.cnblogs.com/DDark/archive/2011/11/28/2266 ...

  9. 字节顺序标记——BOM,Byte Order Mark

    定义 BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码.     介绍 UTF-8 不需要 BOM,尽管 Unico ...

随机推荐

  1. python2.6升级到2.7

    开发部需要使用python2.7,由于公网的环境python版本都是系统自带的,版本是2.6,需要升级,最好是通过RPM升级. Linux系统:CentOS CentOS 6.4升级Python后yu ...

  2. poj 1204 Word Puzzles(字典树)

    题目链接:http://poj.org/problem?id=1204 思路分析:由于题目数据较弱,使用暴力搜索:对于所有查找的单词建立一棵字典树,在图中的每个坐标,往8个方向搜索查找即可: 需要注意 ...

  3. UIPickView之自定义生日键盘和城市键盘

    ////  ViewController.m//  04-键盘处理// // #import "ViewController.h"#import "XMGProvince ...

  4. Android清单文件具体解释(三)----应用程序的根节点&lt;application&gt;

    <application>节点是AndroidManifest.xml文件里必须持有的一个节点,它包括在<manifest>节点下.通过<application>节 ...

  5. c基础知识复习

    C的发展历程 C原本是为了开发UNIX操作系统而设计的语言:如此说,应该C比UNIX更早问世,而事实并非如此,最早的UNIX是由汇编写的: C语言本来是美国人开发的,解读C的声明,最好还是用英语来读: ...

  6. Linux升级Python提示Tkinter模块找不到解决

    一.安装tkinter 在Linux中python默认是不安装Tkinter模块, [root@li250- ~]# python Python (r266:, Feb , ::) [GCC (Red ...

  7. c 输入两个数,第一个数决定一个nXn的矩阵,第二个数决定从1开始赋值,赋值的上限 (MD花了半天时间,思路不对害死人)

    输入两个数,第一个数决定一个nXn的矩阵,第二个数决定从1开始赋值,赋值的上限 比如: 输入: 输出: 输入: 输出: #include<stdio.h> int main(void) { ...

  8. [译]SSRS 编写带参数的MDX报表

    编写MDX报表长久以来对于报表人员来说都比较痛苦. 当然如果你用查询设计器(Query Designer) 直接拖拉数据集那就很方便,但是你们有没有想过查询设计器是怎么创建MDX的.或者创建的参数是如 ...

  9. Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 1 -使用FOR XML返回XML结果集

    XML 介绍 <CustomersOrders> <Customer custid="1" companyname="Customer NRZBB&qu ...

  10. Oracle表解锁

    网搜 --第一步 查看被锁表 select b.owner,b.object_name, b.object_id,l.session_id,l.locked_mode from v$locked_ob ...