У меня есть многомерный хэш/массив, который выглядит так, используя datadumper;тест на существование ключа с подстрокой
{
'Customer' => {'123abc' =>
{'status' =>
{'New' =>
{'email'=>['[email protected]' ],
'template' => 'XYZ' }
}
},
'234' =>
{'status' =>
{'New' =>
{'email' => ['[email protected]' ],
'template' => 'XYZ' }
}
}
$customers = ("123abc", "234abc", "adb234");
Мне нужно проверить наличие клиента на основе полного или частичного соответствия значения массива.
Код, который я использую для полных матчей, отлично работает;
foreach (@customers) {
if ($config->{Customer}->{$customers[0]}) {
do something
} }
Это вернет матч на «123abc»
Но я не могу получить его в соответствие, когда есть строка 234 в $ клиентов [0] или просто тестирование без массива $ клиентов и используя только строка.
Я пробовал;
if (/.234*$/ ~~ %config->{Customer})
основан на примере смарт Matching на этом сайте «печать„У нас есть несколько подростков \ п“, если /.*teen$/ ~~% ч;».
и
if (exists $config->{Customer}->{/234/}
, а также с использованием м в начале регулярного выражения. {М/234 /}
Джон
Это написано в Perl.
perl, php? какой язык? – hvgotcodes
234 в $ customers [0] должно совпадать с чем? «234abc», «adb234», оба? – cirne100
он должен совпадать как с –