我有一个 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()
我完全想避免第二个 if-else if-else if 语句并进一步优化它。Perl 对此有任何支持吗?