问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

perl问题

发布网友 发布时间:2022-04-14 23:01

我来回答

3个回答

热心网友 时间:2022-04-15 00:30

正则表达式(Regular Expression)方法可以满足你上面所需的要求。

正则表达式是你的好朋友

Perl的正则表达式句法能够有助于让你的代码看起来是非门外汉的作品,这就导致有的时候Perl编程的入门者避免使用regexen。这真的是一个大错误。正则表达式为 Perl编程语言增添了很大的能力,常常能够让程序用十行代码就完成其他用五十行完成的任务。正则表达式是由一些缩写组成的表达式,用于匹配字符串的模式,这些字符串可以被用寻找和操控大字符串里的小字符串。所以Perl黑客有必要学习和熟练掌握regex句法。

#!/usr/bin/perl
#ans.pl
my $file;
while (<>){s/^\s+$//;$file.=$_};
my @data=split/\./,$file;

for (@data){
/.*(^\d.*>.*\d$)/sm; #取得最后时间行
my $time=$1;
s/^\d+:.*\d$//gm; #删除时间行
s/^\d+\n//gm; #删除数目行
s/$/./; #加上点号
s/\n+/\n/g; #删除空行
print ++$num,"\n",$time,$_,"\n";
}

=====================
perl ans.pl yourfile.txt

正则表达式是 Perl 语言的一大特色,也是 Perl 程序中的一点难点,不过如果能够很好的掌握他,就可以轻易地用正则表达式来完成字符串处理的任务,当然在设计中就更能得心应手了。

热心网友 时间:2022-04-15 01:48

# chop #删除字符串最后一个字符 ..................$str=chop($str)
# keys #取哈希数组名称 ..........................@array=keys(%array)
# values #取哈希数组的值 ..........................@array=values(%array)
# split #将字符串分割成数组 ......................@array=split(/ /,$str)
# reverse #让数组逆序输出,元素里的字符也会逆序 .....@array=reverse(@array)
# sort #让数组从小到大排序 ......................@array=sort(@array)
# length #取字符串长度 ............................$len=length($str)
# substr #取字符串里的字符 ........................$string=($str,2,5)
# index #查找字符在字符串中的位子 ................$num=index($str,"abc")
# push #在数组最后添加一个新元素 ...............@array=push(@array,$str)
# pop #删除数组最后一个元素,并输出 .............$str=pop(@array)
# unshift #在数组第一个元素前添加元素 ..............@array=(@array,$str)
# shift #删除数组第一个元素,并输出 ...............$str=shift(@array)
# join #在一个数组元素之间加上字符,输出到字符串 .$string=join(@array,";")
# grep #将符合模式的元素输出 ....................$str/@array=grep(@array,/abc/)
# hex #将十六进制数转换成十进制 ................$str=hex('abc')
# rand #产生随即数字 ............................$num=int(rand(10))
#localtime #产生时间 ................................@array=localtime(time)
# die #结束程序并输出后跟的字符串 ..............die "发生错误"

同是菜鸟,给你点函数吧,
再给你点建议,先全组合到一起,然后根据句号分割
# join #在一个数组元素之间加上字符,输出到字符串 .$string=join(@array,"")
# split #将字符串分割成数组 ......................@array=split(/. /,$str)
用到的这两个函数

热心网友 时间:2022-04-15 03:23

不要迷信正则,我的运行结果:
$ perl hebing.pl
1
00:00:09,855 --> 00:00:14,724
Britain was an object of desire.

2
00:00:26,295 --> 00:00:35,803
Tacitus declared it worth the conquest,
the best compliment
that could occur to a Roman.

我实现了,但是bug都没判,最好只在每段字幕最后有一个句号。
字幕文件命名为 zimu.txt,会生成zimu_new.txt,放在一个目录下。

#!/usr/bin/perl -w
use strict;
use warnings;

main(@ARGV);

sub main
{
open(ZIMU,'<zimu.txt'); #读进来
my @zimutxt=<ZIMU>; #数组获取行
my $current_content; #暂存内容
my @zimu_new; #最终内容
my ($first_time,$last_time); #获取时间
my ($current_first_time,$current_last_time); #暂存时间
my $newline=1; #序号
foreach(@zimutxt){
if(/^(\d)$/){#不干啥,抛弃原序号
}
elsif(/(-->)/){ #找时间行
chomp $_;
my $tmp=$_;
($current_first_time,$current_last_time)=split(" --> ",$tmp); 时间行时间拆分
if(!defined($first_time)){
$first_time = $current_first_time;
} #获取开始时间,为首次暂存开始时间
$last_time = $current_last_time; #获取结束时间,为最后暂存结束时间
$tmp=''; #临时值清空
($current_first_time,$current_last_time)=();#临时值清空
}
elsif(/^$/){#空行忽略
}
elsif(!/[.]/){
$current_content.=$_;没句号,字符串拼接
}
elsif(/[.]/){
$current_content.=$_;有句号,字符串拼接
print $newline."\n".$first_time." --> ".$last_time."\n".$current_content."\n";#打印看看
push @zimu_new,$newline."\n".$first_time." --> ".$last_time."\n".$current_content."\n";
$newline++;#新序号
($first_time,$last_time)=();
$current_content="";
}else{
#不干啥
}

}
open(NEWZIMU,">zimu_new.txt");
foreach(@zimu_new){
print NEWZIMU $_;#存文件
}
close(NEWZIMU);
close(ZIMU);
}
perl缺点

总的来说,Perl的缺点在于其可能带来的代码复杂性和可读性挑战,但它同时也提供了一种高度灵活的编程方式。能否写出优雅的Perl,取决于编程者的技艺和对代码清晰度的追求。因此,对于Perl,关键在于如何平衡其灵活性与代码质量。

Load Port、SMIF

威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...

Perl程序的运行问题。急急急!

1、文件夹名不要中文字。2、不要有空格。3、模块缺少依赖的其他模块。

为什么电脑运行perl出现以下问题?

这是加密模块没有安装好,把与这模块相关的语句删掉就可以了,或重新安装Filter::Crypto这模块。

perl的sleep函数失效问题

并发问题、操作系统限制。1、并发问题。如果在程序中有其他任务或线程正在占用处理器资源,sleep函数会受到影响,导致暂停的时间不准确或无法暂停。2、操作系统限制。在某些操作系统上,会限制了sleep函数的时间精度。这意味着即使设置了较小的暂停时间,实际暂停的时间会比预期的要长。

perl 排列组合问题

即C4 1乘以C3 1乘以C2 1 ③: 选1个相同,3个不同...不就是4个不同的嘛。。。真不知道你怎么想的。就是C4 1*C3 1*C2 1*C1 1 ④:选两个相同的即C4 1,另两个相同的即C3 1,就是C4 1* C3 1 ⑤:你仔细想想,其实和第二个是一样的,再算就会算重复了。你的思维方式不太好。

安装perl时几个详细的问题

好的perl是不是可以正常运祚。他应 该会跑到t/目录下去做测试。make install 将binary档放到应该要去的地方..正常 应该会放到/usr/local/bin/perl5.8.6 library会放在/usr/local/lib/perl5/5.8.6 这个目录perl -V会看到...test与install是Makefile里面定义好的tag..make看到後会进去Makefile...

perl编程问题,急!怎么就不对了啊??

第1行有错,前面漏了第一个符号,应该修改为:!/usr/bin/perl -w 第18行有错,后面的引号要使用英文,应该修改为:flock( BOOK, LOCK_EX ) or die( "Cannot get exclusive lock: $!" );第35行有错(最后一行),应该删除。全部修改正确的程序如下:!/usr/bin/perl -w use strict;use ...

perl的问题!!!急急急

# readpipe 是用来执行命令,得到结果用的,效果类似函数system和exec$s = readpipe($string);#如:@result = readpipe( "ls -l /tmp" );#result就得到了ls -l /tmp的输出#所以你的问题的结果是:# 可能不一样, 因为expect一般是spawn一个进程,到远程服务器上做事情# readpipe是在当前服务器...

perl中的一个标量上下文问题

疑问1:布尔上下文特殊在那里?它特别在不同於 eq, ne, ==, != 那样, 只会返回 1 或 undef, 它会返回一个 "能对应当前正在访问的数据型态" 的 "有内容的值" 或 "空值", 以 array 来说, 空值就是 (), 以 hash 来说空值就是 ( undef, undef )...疑问2:我仿照上面的代码做了以下...

关于perl效率的问题

不过事实上那是感觉不出来的。你这两个语句的比较,由于后面的“, "\n"”部分相同的,和下面两个语句的比较结果是一致的:print 'abc';print "abc";第二个会满,因为执行第二个的时候,系统看见是双引号,要先扫描里面是否有变量和转移符,处理完毕以后执行与第一个相同的功能--输出显示。

perl foreach perl timegm perl for perl 6 perl需要 perl语言教程 perl和Python perl编程 perl sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
七月再见八月你好的说说文案图片大全简短的 七月再见八月你好句子励志心情说说 七月再见八月你好发朋友圈的句子25句 请问谁知道ae运动模糊参数在哪调节? 在福州,想办理宽带,电信、铁通、网通,这三者的每月网费各是多少呢... 在福州选择哪一种宽带比较好? 电信 联通 有线通 移动? 分别怎么样啊... 怎么控制拼多多拍单时间(如何掌控拼多多拍单时间) 拼多多买家反复拍单退款(拼多多买家如何防止反复拍单退款) 用三角换元方法,求过程 除尘器入口含尘浓度将直接影响除尘布袋的选择? 河南省政务服务网怎么下载二级建造师电子版 网上二建报名还需要下载报名表,怎样下载 2019年河南二级建造师电子证照怎么下载? 倒挂金钟叶片发黄怎么回事?应该如何解决? 倒挂金钟叶子干枯脱落怎么办? perl有什么优处?java,。net,C++这些都耳濡目染了,而perl比较少听,为什么,现在有那些项目用perl做的! 双色球走势图,是否必看50期或者100期才行? 继《锦绣未央》毛晓彤《三十而已》又被吐槽戴美瞳,为何对艺人敌意这么大? 《锦绣未央》里有哪些剧情符合历史? 开始看锦绣未央了,有人跟我一起吐槽吗 被电视剧糟蹋了的几部经典小说,你对哪一部无力吐槽了 你怎么看《锦绣未央》中唐嫣的表现以及剧情呢? 有哪部影视剧改编的让你感觉和小说严重失实? 《锦绣未央》一上映 为什么原著党各种吐槽 吐槽一下《锦绣未央》,,, 传说中高甜每刻,每一镜都是情话os的《锦绣未央》,到底是否值得一看... 唐嫣在《锦绣未央》中饰演的李未央一角色究竟是否成功? 网友吐槽锦绣未央虐心,电视剧为什么都那么虐 这几年由网红小说改编的电视剧,你有要吐槽的吗?为什么? 《锦绣未央》播出后为什么一度让原著粉失望透顶? steam头像怎么换 手机steam app 无法更换手机头像(非官方头像) 为什么我手机版steam头像换不了 梦见自己的姥爷受伤了? 怎么才能更改steam的头像啊 梦见外婆留了很多血但没看见伤口,并且有很多人? 梦见已故的外婆办丧事中我脚受伤出血? 梦见死去多年的外婆给炮竹伤她自己的手? 梦到巳故的外婆被水牛给伤到了是什么意思 水牛给伤到了是什么意思? 360隐私空间换手机了还有吗 怎样可以让自己不生气 360的隐私空间怎么储存照片? 怎样才能不让自己生闷气 怎么让自己一直不生气? 色彩临摩罐装果汁怎么画 怎样才能不生气或不容易生气? 怎么弄苹果汁 带嘉的男孩名字缺木 用榨汁机榨出来的果汁颜色好难看,怎么样榨出来漂亮的果汁 苹果汁怎么做才好喝?