Loop over the indexes in the inner loop instead of the values and push matches to a list.
#!/usr/bin/env perl use strict; use warnings; use feature 'say'; my @A = ("Red", "Green", "Yellow"); my @B = ("Yellow", "Black","Yellow","Red", "White", "Yellow"); for my $x (@A){ my @matches; for my $y (0 .. $#B){ push @matches, $y if $B[$y] eq $x; } say $#matches < 0 ? "$x is missing" : "$x at index " . join ', ', +@matches; }
I am new in Perl
When you fancy something more advanced you can push into a hash of arrays (HoA) instead. That way you can store the results rather than just printing them out as you go. HTH.
In reply to Re: Get identical elements and index from 2 Arrays in Perl
by hippo
in thread Get identical elements and index from 2 Arrays in Perl
by rebkirl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |