1

SQLクエリの結果があります。次のように10行が返されます。

私のperlスクリプトで以下を実行した場合。

print $result

それは私に出力を与えます:

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

最初の2行が削除されることを実現したいだけです。各行の残りを配列に格納します。誰かがこれをどのように達成するか教えてもらえますか?

4

2 に答える 2

2

のようなもので:

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

説明:

split /\n/, $result変数を行の配列に分割しています。

grep /^[\s\d]+$/はこの配列をフィルタリングし、スペースまたは数字の1行である要素のみを保持します(したがって、最初の2行を削除します)

于 2012-09-21T07:08:09.423 に答える
0

データに依存しない、少し回り道:$ resultをファイルに出力すると、次のことができます。

use Tie::File;

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

(未テスト)

于 2012-09-21T07:12:53.193 に答える