У меня есть многомерный хеш / массив, который выглядит так, используя datadumper;
{
'Customer' => {'123abc' =>
{'status' =>
{'New' =>
{'email'=>['user@xxx.com' ],
'template' => 'XYZ' }
}
},
'234' =>
{'status' =>
{'New' =>
{'email' => ['user@xxx.com' ],
'template' => 'XYZ' }
}
}
$customers = ("123abc", "234abc", "adb234");
Мне нужно проверить наличие клиента на основе полного или частичного совпадения со значением массива.
Код, который я использую для полных совпадений, работает нормально;
foreach (@customers) {
if ($config->{Customer}->{$customers[0]}) {
do something
} }
Это вернет совпадение на "123abc"
Но я не могу заставить его соответствовать, когда есть строка 234 в $ Customers [0] или просто тестирование без массива $ customer и использованием только строки.
Я пытался;
if (/.234*$/ ~~ %config->{Customer})
на основе примера Smart Matching на этом сайте "print" У нас есть подростки \ n "if /.*teen$/ ~~% h;".
и
if (exists $config->{Customer}->{/234/}
, а также использование m в начале регулярного выражения. {М / 234 /}
Jon
Это написано на Perl.