perl对于utf8编码文件的substr

perl脚本本省使用utf8编码,环境默认编码为utf8

1.加上use utf8; 后,print substr("哈哈",0,1),"\n";就正常输出了

2.但是,读入utf8编码的文件在做substr还是有问题,加上 FH,"<:utf8"就好了

Wide character in print 的警告信息,加上3.但是,会有

binmode(STDIN, ':encoding(utf8)');
binmode(STDOUT, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');

就好了


#!/usr/bin/perl
use strict;
use warnings;
use utf8;
binmode(STDIN, ':encoding(utf8)');
binmode(STDOUT, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');


print substr("哈哈",0,1),"\n";
open FH,"<:utf8", $file"||die "can't open file:$!";
my $i=0;
        while(<FH>){
        chomp $_;
        print $_,"\n";
        print substr($_,0,1),"\n";
        }
        close FH;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值