1

たとえば、文字列の配列があり@matches = ("cat", "zebra", "apple")、ファイルを開いて、これらの文字列を可能な限り簡単な方法で一致させたいとします。

while (<MYFILE>)
{
    chomp;

    if (..some match condition...)
    {
        ..stuff..
    }
}

各行で a を使用しforeachて一致を試みることもできますが、Perl には「文字列 X が配列 Y のいずれかのパターンと一致する場合」と言う簡潔な方法が必要であることはわかっています。私はこれをどこにも見つけられないようです。

編集:

明確にするために、非常に非効率的なコードを次に示します。

while (<MYFILE>)
{
    chomp;

    foreach $m (@matches)
    { 
        if (~ /$m/)
        {
            ..stuff..
        }
    }
}

これを行う簡単な方法があることは知っています。

4

3 に答える 3