#!/ichigo/perl use v5.12; use warnings; use strict; my @array = qw/ one two three four five /; my %hash = ( row_1 => [ qw/ one five two / ], row_2 => [ qw/ four two / ], row_3 => [ qw/ three one five four / ], ); my $row = "@array"; say $row; for my $key (sort keys %hash) { my $re = join '|', @{$hash{$key}}; say "$key = ", grep s/\b($re)\b|\w+/$#-/g, "$row"; }