私は Perl を初めて使用しましたが、ひどい HTML ファイルからテキストを取得するために Perl が必要でした。これまでのコードでは、必要なすべての値を抽出したところまで来ました (データ ダンパーで動作することを確認しました)。
すべてのデータ レコード、つまり 2D テーブルの行に対して、次のように呼ばれます。
$org, $gene_name, $number, $motif_num, $pos, $strand, $seq
多くのデータエントリがあり、それぞれが行になり、上記の値が列になります。
後でそれらを使って他のことを行うために、2D 配列構造を作成したいので、各エントリ (行) をループして、必要な値を選択することができます。
これを行う最善の方法は、ループを使用し、データエントリごとに、正規表現マッチングで値を抽出した後、値/列を個々のデータレコードの配列に結合することだと思いました:
my @seidl_array_row = ($org, $gene_name, $number, $motif_num, $pos, $strand, $seq);
次に、この配列を配列の完成した 2D 配列にプッシュします。
push @seidl_array, [ @seidl_array_row ];
( @seidl_array はmy
ループの前に定義されています。)
つまり、配列 @seidl_array の各要素は、値 $org、$gene_name、$number、$motif_num、$pos、$strand、および $seq を含む配列です。
私は Perl を初めて使用するので、このデータを後で処理するときに問題が発生するため、これがプログラムで行う正しい方法であったかどうかはわかりません。そもそも問題は、配列の配列をどのように構築したかにあるのだろうかと思いました。私の本の例では、単純なデータセットで静的に実行していますが、これははるかに大きなゲノムデータの gtf ファイルであるため、静的に実行することは実際には実現可能ではありません。