• perl mojo 编码


    mojo 默认开启utf8;
    
    centos6.5:/root#cat t1.pl 
    use Mojolicious::Lite;  
    use JSON qw/encode_json decode_json/;    
    use Encode;  
    no strict;  
    use JSON;   
    use Data::Dumper;  
    no utf8;
    # /foo?user=sri  
     get '/admin/api/menu' => sub {  
              my $c = shift;  
             open (LOG1 ,"<",'11.out') or die  $!;  
                         while (<LOG1>) {  
                         my $phone='18072722237';  
                        #2016-03-09 09:35:12,380 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为132435,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!  
                          my $d='验证';  
                         #my $d='验证';
                        if ( ($phone) and ($_ =~/$phone/) and ($_ =~/$d/) ){$str=$_;  
                           if ($_ =~  /([0-9]{4}-[0-9]{1,2}-[0-9]{2}s+[0-9]{2}:[0-9]{2}:[0-9]{2}.*?)s+(.*?Send message:)s*(.*?)(tos+phoneNo:s*[0-9]{11}).*/){
                           	$a1=$1;
                    	$a2=$2;
                     	$a3=$3;
                      	$a4=$4;
                            print "$a1 is $a1
    ";
                            print "$a2 is $a2
    ";
                            print "$a3 is $a3
    ";
                            print "$a4 is $a4
    ";
                        }};  
                          
                        close LOG1;  
                        my $a=decode_utf8("测试更健康");
              $c->render(text =>  "$a" );  
    };  
    };
                         
      
      
      app->start;
      
      
      centos6.5:/root#morbo t1.pl 
    Server available at http://127.0.0.1:3000
    [Thu Mar  9 20:57:25 2017] [debug] GET "/admin/api/menu"
    [Thu Mar  9 20:57:25 2017] [debug] Routing to a callback
    $a1 is 2016-03-09 09:35:12,380
    $a2 is INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:
    $a3 is 您的验证码为132435,本验证码5分钟内有效。 
    $a4 is to phoneNo:18072722237
    [Thu Mar  9 20:57:25 2017] [debug] 200 OK (0.000969s, 1031.992/s)
    readline() on closed filehandle LOG1 at /root/t1.pl line 31.
    
    
      centos6.5:/root#curl http://127.0.0.1:3000/admin/api/menu
    测试更健康centos6.5:/root#curl http://127.0.0.1:3000/admin/api/menu
    测试更健康centos6.5:/root#
    
    
    开启utf8;
    centos6.5:/root#vim t1.pl 
    
    use Mojolicious::Lite;
    use JSON qw/encode_json decode_json/;
    use Encode;
    no strict;
    use JSON;
    use Data::Dumper;
    # /foo?user=sri  
     get '/admin/api/menu' => sub {
              my $c = shift;
             open (LOG1 ,"<",'11.out') or die  $!;
                         while (<LOG1>) {
                         my $phone='18072722237';
                        #2016-03-09 09:35:12,380 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为132435,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!  
                          my $d='验证';
                         #my $d='验证';
                        if ( ($phone) and ($_ =~/$phone/) and ($_ =~/$d/) ){$str=$_;
                           if ($_ =~  /([0-9]{4}-[0-9]{1,2}-[0-9]{2}s+[0-9]{2}:[0-9]{2}:[0-9]{2}.*?)s+(.*?Send message:)s*(.*?)(tos+phoneNo:s*[0-9]{11}).*/){
                            $a1=$1;
                            $a2=$2;
                            $a3=$3;
                            $a4=$4;
                            print "$a1 is $a1
    ";
                            print "$a2 is $a2
    ";
                            print "$a3 is $a3
    ";
                            print "$a4 is $a4
    ";
                        }};
    
                        close LOG1;
                        my $a="测试更健康";
              $c->render(text =>  "$a" );
    };
    };
    
    
    
      app->start;
                   
    centos6.5:/root#morbo t1.pl 
    Server available at http://127.0.0.1:3000
    [Thu Mar  9 20:58:47 2017] [debug] GET "/admin/api/menu"
    [Thu Mar  9 20:58:47 2017] [debug] Routing to a callback
    [Thu Mar  9 20:58:47 2017] [debug] 200 OK (0.000981s, 1019.368/s)
    readline() on closed filehandle LOG1 at /root/t1.pl line 30.
    
    此时匹配不到
    
    
    /******************
    centos6.5:/root#cat t1.pl 
    use Mojolicious::Lite;  
    use JSON qw/encode_json decode_json/;    
    use Encode;  
    no strict;  
    use JSON;   
    use Data::Dumper;  
    # /foo?user=sri  
     get '/admin/api/menu' => sub {  
              my $c = shift;  
             open (LOG1 ,"<",'11.out') or die  $!;  
                         while (<LOG1>) {  
                         my $phone='18072722237';  
                        #2016-03-09 09:35:12,380 INFO com.zjzc.thirdparty.sms.SMSUtils - Send message:您的验证码为132435,本验证码5分钟内有效。 to phoneNo:18072722237 succeed!  
                          my $d=encode_utf8('验证');
                         #my $d='验证';
                        if ( ($phone) and ($_ =~/$phone/) and ($_ =~/$d/) ){$str=$_;  
                           if ($_ =~  /([0-9]{4}-[0-9]{1,2}-[0-9]{2}s+[0-9]{2}:[0-9]{2}:[0-9]{2}.*?)s+(.*?Send message:)s*(.*?)(tos+phoneNo:s*[0-9]{11}).*/){
                           	$a1=$1;
                    	$a2=$2;
                     	$a3=$3;
                      	$a4=$4;
                            print "$a1 is $a1
    ";
                            print "$a2 is $a2
    ";
                            print "$a3 is $a3
    ";
                            print "$a4 is $a4
    ";
                        }};  
                          
                        close LOG1;  
                        my $a="测试更健康";
              $c->render(text =>  "$a" );  
    };  
    };
                         
      
      
      app->start;
      
      此时可以匹配

  • 相关阅读:
    React生命周期
    React第三次入门
    滴滴新锐面经
    前端优化
    Z-index
    maven建ssh项目的pom文件
    拦截器与过滤器的区别
    Jquery的ajax获取action中的返回值
    清空数据库所有表的数据
    orcal操作锦集
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349835.html
Copyright © 2020-2023  润新知