単語と数字を含むテキスト ファイルがあります。
キーワードを検索したいのですが、ファイルにその単語が含まれている場合は、2 番目の単語を検索します。存在する場合は、2 番目の単語の隣の数字を抽出したいと思います。
これを 2 つのキーワードと 2 つの 2 番目の単語 (つまり、同じことを 2 回繰り返しますが、毎回異なる単語) に対して実行したいと考えています。
次に、数値を配列に入れて、数値で並べ替えたいと思います。
これまでのところ、配列 1 からの出力は、配列 2 に結合すると変更されます (一部の数値が重複しています)。両方の操作をマージする方法が必要です。
my $filename;
my $filenamein = 'seq_id.txt';
open( my $fh, '<:encoding(UTF-8)', $filenamein )
or die "Could not open file '$filename' $!";
while ( my $row = <$fh> ) {
my $string = $row;
my $startword = "16S ribosomal RNA";
for ( $string =~ /$startword/ ) {
my $word1 = "start:";
$string =~ /$word1\s*?(\S+)/;
my $next_word1 = $1;
@w1 = ( $next_word1, );
my $startword2 = "23S ribosomal RNA";
for ( $string =~ /$startword2/ ) {
my $word2 = "End";
$string =~ /$word2\s*?(\S+)/;
my $next_word2 = $1;
@w2 = ( $next_word2, );
}
}