Perl碎碎念

1. 如何去重

复制代码
#!/usr/bin/perl
use strict;
my %hash;
while(<>){
   chomp;
   print "$_\n" unless exists $hash{$_};
   $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开头并且以'或者中文)结尾,则删除换行符

复制代码
use strict;
open(in, "< 1.sql");
open(out, "> g.result.sql");
while(<in>){
if( /^values/ && /['|)]$/ ) {
    $_=~ s/\n//g;
    }
print out $_;
}
close in;
close out;
复制代码

 

posted @   iVictor  阅读(653)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示