use strict;
use warnings;
my @array = (
[ 19, 'Canon' ],
[ 13, 'Sony' ],
[ 25, 'HP' ],
);
my $searchString = "Sony's Cyber-shot DSC-S600";
my @result = map { $array[$_][0] } # Get the 0th column...
grep { $searchString =~ /$array[$_][1]/ } # ... of rows where the
0 .. $#array; # first row matches
print "@result"; # prints '13'
Прелесть этого подхода в том, что он имеет дело с возможностью нескольких совпадений, поэтому, если Sony и HP когда-либо решили совместно работать над камерой, ваш код может вернуть оба! (13 25
)