Bini -- -21.89753 -20.47853 -20.27835 -18.34952 -16.23454
Bini -- -16.89753 -14.47853 -13.27835 -12.34952 -11.23454
Bini -- -10.09014
我的文件有一个如上所示的数组。这个以 Bini 开头的数组是具有多行的数组,但我在这里只显示 3 行。我想尝试的是从最后 2 行中提取最后 3 个元素。所以,-12.34952 -11.23454 -10.09014 这三个元素是我想要的。有时,最后一行可能有 2 到 5 个元素,具体取决于文件。但在这里,它只有最后一行的 1 个元素。
我尝试如下
while(my $line = <FILE>) {
if($line =~ /Bini/) { #extract last 3, 2, 1 element
my @entries = split(/Ws+/,$line);
$element1 = (pop@entries);
$element2 = (pop@entries);
$element3 = (pop@entries);
}
结果,我可以看到 element1 是 -10.09014,但不幸的是,我无法获得 element 2 和 element 3。有人可以帮我吗?..
我想保留我的原始脚本。我的意思是,result.txt的创建过程和输出格式“log”的打开方法。
块引用
#!/usr/bin/perl use warnings;
use strict;
use File::stat;
open (OUT, ">", "result\.txt") or die "cannot open file\,\n"; #from this plx, I want to creat result.txt
foreach my $answer (glob "*.log") { # format of reading file will be "log"
open (FILE, "<", "$answer") or die "Cannot open file\.\n";
my @file = split ('\.', $answer);
块引用
您的文件引发错误的打开方法(我的@array = read_file('input.txt')我想知道如何使用从我的$line = 0 开始的脚本从您的脚本开始。即使我将txt 的格式更改为日志(例如input.log),它仍然给出错误消息。(read_file 'input.txt' - sysopen: No such file or directory at text.plx line 6)
......