请帮忙解释一下下面的perl语言的意义

2024-12-04 16:16:44
推荐回答(4个)
回答1:

前面的 楼上正解,
$line=~s/^\s+//; #这个是去掉开始的空白
@line=split(/\s+/,$line); # 这个是以一行中间的一个或者多个空白符分割,结果存在数组中
最后一个:
if(!($jobID=~/^\d+$/)){
这句的意思是 jobID不全由数字组成就ok;常用正则匹配技巧是 限定整行匹配要求/^otherPattern$/,由^限定开始同时由$限定结束。
常用模式你可以学学 perl的正则表达式,或者去看看《正则表达式必知必会》,100多页由浅到深,很实用。

回答2:

第4行:删去开头空格
第5行:以至少一个空格以上作为分界符拆分字符串返回一数组
第11行:如果标量jobID不匹配一个以上数字
~s是替换绑定
^是匹配开头锚定
$是匹配结尾锚定
split是拆分字符串
~是匹配绑定(~m的简写)

回答3:

$line=~s/^\s+//; 是说将一行的开头的空白部分(包括空格 tab等)删除
@line=split(/\s+/,$line); 是说一行的内容按空格或tab分割为多个字段 每个字段都存入line数组
f(!($jobID=~/^\d+$/)) 是说判断$jobID的内容是否只包含数字

回答4:

什么年代了?还用perl?