Привет, я новичок в Perl в процессе обучения.
У меня есть массив
@array = ( 10, 40, 59, 40, 90, 100, 30, 40, 100, 20, );
Я хочу найти максимальное число в массиве, а также узнать индекс, где максимальное число присутствует в моем массиве.
Я делаю
my $maxValue = max @array;
print $maxValue; # displays the maximum number in the entire array
my ($index) = grep $array[$_] eq $maxValue , 0.. $#array;
print ($index); # this gives me the index of the maximum number which was found in the array.
Вывод, который я получаю, равен 100 с индексом 5
Но на самом деле 100 поступает 2 раза в массиве: один раз с индексом 6 и снова с индексом 8. Мой код предоставляет мне только первый найденный индекс с максимальным значением.
Как я могу получить все индексы, которые имеют максимальное значение с ними?