具有多行的变量。删除perl中的前两行

时间:2012-09-21 07:04:40

标签: perl unix solaris

我有一个sql query.it的结果返回大约10行,如下所示:

如果我在我的perl脚本中执行以下操作。

print $result

它给了我输出:

 key       value                            
 ----------- ------------------------------ 
  1428116300 0003000                        
   560779655 0003001                        
   173413463 0003002                        
      315642 0003003                        
  1164414857 0003004                        
   429589116 0003005 

我只想实现前两行被删除。并将每行的其余部分存储在一个数组中。 我可以告诉我怎么做这个?

2 个答案:

答案 0 :(得分:2)

有类似的东西:

my @lines = split /\n/, $result;
splice @lines,0,2;

解释:

split /\n/, $result正在将变量切割为一系列行。

grep /^[\s\d]+$/正在过滤此数组,并且仅保留单行空格或数字的元素(从而删除前两行)

答案 1 :(得分:0)

与数据无关,小迂回方式:如果在文件中打印$ result,则可以

use Tie::File;

tie @lines, Tie::File, $file or die "can't update $file: $!";
delete $lines[1];
delete $lines[2];

(未测试的)