open F, "1.txt" or die $!;#把以上内容放到1.txt@array=<F>;foreach(@array){if(/T(\d)\dC/ or /T(\d)\d+$/){s/$1/1/;} print "$_";}
方法很多。可以从ifconfig命令的结果中取对应字符串:open (IN, "/sbin/ifconfig |");while (<IN>) { if ( /^\s*inet addr:([\d\.]*)\s*Bcast:([\d\.]*)\s*Mask:([\d\.]*)/ ) { host_ip = $1;last ;} } close(IN);host_ip里的就是结果。
strPush =~ tr/\\x//d;语句的功能是对$strPush字符串的内容进行查找、替换,查找\x,替换为空,就是删除字符串里面的\x 标准的语句格式如下:s =~ tr/查找内容/替换内容/选项;详细解释可以百度PERL TR
你知道在个genesis中有特殊指令,可以屏蔽错误报告。不管这个step 是否存在,你直接去新建这个step就好了如果存在他不会报错。cshell 中如下:VOF COM 。。。VON perl 中如下:sub VOF { local ($genesis) = shift;genesis->sendCommand("VOF","");} ...
and $startflag == 1) #找到终止点,config user local之后的第一个end, 重置起始标志并退出循环, 此处不重置也ok. { $startflag = 0; print DESTINATION $_; last; }else #把起始点到中止点中间的各行输出到output.txt { print DESTINATION $_ if $startflag == 1; }}代码...
if (!$opt_k && !$opt_d) { Usage; } elsif ($opt_d) { if (!$opt_s || !$opt_e) { Usage; } } if (@ARGV > 0) { while (my $tmp = shift @ARGV) { push (@filename, $tmp); } } else { push (@filename, 'STDIN'); ...
genesis标注脚本perl源码自动标注xy坐标以及直径
if ($row_array[2]=~ /^\d+..\d+$/){ $row_array[2]="\+\t$row_array[2]\t$row_array[1]"; $row_array[2]=~ s/\../\t/g; }elsif($row_array[2]=~/^complement\((\d+..\d+)\)$/){ $row_array[2]="-\t$1\t$row_array[1]"; ...
。另外,<B>这个不能多次使用,除非你使用seek重置文件指针,不然的话,第一次执行完了,第二次里面的值就是空了。可以改成:my @b = <B>;foreach my $line (<A>) { chomp($line); next if (!$line); @a = grep (/$line/, @b); print C @a;} ...
sed 'n;d' awk '{f=!f;if(f)print $0}' perl -ne 'print if $.%2' perl -pe '$_="" if $.%2' # 在匹配式样“regex”的行之前插入一空行 sed '/regex/{x;p;x;}' awk '{if(/regex/)printf("\n%s\n",$0);else print $0}' ...