微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Perl碎碎念

1. 如何去重

#!/usr/bin/perl
use strict;
my %hash;
while(<>){
   chomp;
   print "$_\n" unless exists $hash{$_};
   $_}+=1;

}

刚开始没有$hash{$_}+=1这一行,结果发现无论怎么执行,文本都是原样输出,不会去重。加上这一行后就没有问题了,推测如果没有对$hash{$_}进行操作的话,在判断完它的键是否存在以后即会被丢弃掉,不会保存留待下一次判断

2. 如何输出中文

binmode(STDOUT,':encoding(gbk)');

3. 无法启动此程序,因为计算机中丢失perl514.dll。

Perl for windows的下载地址为:https://www.perl.org/get.html#win32

在安装DWIM Perl for Windows后,打开padre,the perl IDE 报以下错误

通过搜索,发现C:\Dwimperl\perl\bin下明明就有perl514.dll文件

于是通过 开始->运行->输入regsvr32 perl514.dll,提示以下错误

怀疑是C:\Dwimperl\perl\bin不在环境变量PATH中,在cmd环境下输入perl -v,提示“不是内部或外部命令”。

于是果断重启,打开padre,the perl IDE,没有报丢失perl514.dll错误

4. 如果以value开头并且以'或者中文)结尾,则删除换行符

open(in,< 1.sql);
open(out,1); font-weight: bold">> g.result.sqlwhile(<in>){
if( /^values/ && /['|)]$/ ) {
    $_=~ s/\n//g;
    }
print out $_;
}
close in;
close out;

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐