-2

別のテーブルと照合するために使用している配列があります。実行すると、最初に出現したものだけが取得されます。たとえば、company1 が配列内にある場合、company1 の最初のインスタンスのみを取得してから、次の検索用語、たとえば company2 に移動します。company1 の後に company1.0 があった場合、company1 だけが吐き出されます。company1 など\t company1.0 などを同じ行に吐き出したいのですが、2 つのリストの間に複数の一致があるためです。

これが私のコードです:

my @attendees = ('company');
foreach $fbm (@attendees) {
    open(RFILE, '<', "file.txt")
    or die "no such file posf: $!";

    while ( $line = <RFILE> )
    { 
        if ($line =~ /$fbm/i)
        {
            print $fbm."\t". $line;
            last;
        }
        if (eof(RFILE)) 
        {
            print "posf"."\n";
        }               
    }
}
print STDERR "\n\nFINISHED!!";

私の入力:

company1
company1.0
company1 also begins with 1 but different ending
company1 can i have this one too?

私の出力:company1 希望する出力:company1\tcompany1.0\tcompany1 も 1 で始まりますが、末尾が異なります\tcompany1 もこれを使用できますか?

4

1 に答える 1