use strict; use List::Util qw(reduce); my @data = qw ( 01 b2 01 00 b6 81 81 01 b4 0a 01 01 01 01 00 01 00 00 01 00 c7 82 82 01 b2 01 00 b8 ); my $index; reduce { if ($a eq $b && $a =~ m/81|82/) { print "match $a starting at index $index\n"} $index++; $b; } @data;