別の文字列配列で異なる部分文字列 (まったく無関係な部分文字列) を検索する Perl スクリプトがあります。今のところ、ループと「if-else if-else if」テストを使用して実装しました。文字列の配列で個々の部分文字列を検索し、最初の一致で中断します。ループを回避することでさらに最適化できるかどうか知りたいですか? 単一のステートメントですべての部分文字列を検索し、文字列で使用可能な部分文字列のインデックスを取得するなど、可能ですか。
たとえば、部分文字列の配列を名前の部分文字列 (@ 型) とし、要素 (abc,c10,9GH) を持たせます。また、「buffers」(@ 型) など、名前が付けられた別の配列文字列があります。どの部分文字列が一致するかに応じて、特定の関数を呼び出す必要があります。現在、私の擬似コードは次のとおりです。
Loop through the buffers:
check:
if found abc -> call funABC()
else if found c10 -> call funC10()
else if found 9GH -> call fun9GH()
2 番目の if-else if-else if ステートメントを完全に回避し、さらに最適化したいと考えています。Perl はこれをサポートしていますか?