具有多行的变量。删除perl中的前两行
我有一个sql查询的结果。它返回大约10行,如下所示: 如果我在perl脚本中执行以下操作具有多行的变量。删除perl中的前两行,perl,unix,solaris,Perl,Unix,Solaris,我有一个sql查询的结果。它返回大约10行,如下所示: 如果我在perl脚本中执行以下操作 print $result 它给了我输出: key value ----------- ------------------------------ 1428116300 0003000 560779655 0003001
print $result
它给了我输出:
key value
----------- ------------------------------
1428116300 0003000
560779655 0003001
173413463 0003002
315642 0003003
1164414857 0003004
429589116 0003005
我只想确认删除前两行。并将每行的其余部分存储在一个数组中。
任何人都可以告诉我如何做到这一点吗?比如:
my @lines = split /\n/, $result;
splice @lines,0,2;
说明:
split/\n/,$result
正在将变量切割成一个行数组
grep/^[\s\d]+$/
正在筛选此数组,并且只保留一行空格或数字的元素(从而删除前两行)数据独立的小迂回方式:如果在文件中打印$result,您可以
use Tie::File;
tie @lines, Tie::File, $file or die "can't update $file: $!";
delete $lines[1];
delete $lines[2];
(未测试)@Orabig.Thank。逻辑正常。但我只想删除前两行。我不想在这里使用grep。我将更改您的答案。