Is this what you are looking for?
#!/usr/bin/perl
use strict;
use warnings;
use v5.10;
my @data = <DATA>;
foreach (@data) {
my ($left, $right)=split' ',$_;
my @l=split'(?<=-)',$left;
foreach (@l) {
say $_." is in ".$right if index($right, $_) > 0;
}
}
__DATA__
a_12_3_5- k_3_4_6-a_12_3_5-
q_1_5_7_9- q_1_5_7_9-
a_9_4_5-c_3_4_6- c_3_4_6-r_4_5_7-
b_1_1_3- v_1_5_7-
d_12_4_5-e_4_5_6- g_5_6_7-d_6_8_6-
b_1_1_7-f_3_8_7_8-d_4_1_4- d_4_1_5-b_1_1_7-f_3_8_3
b_1_1_7-f_3_8_7_8-d_4_1_4- e_3_3_1-f_3_8_7-f_21_3_1-b_1_1_7-a_1_1_1-
Result
perl "F:\perl_TK\perldb\perl1data3.pl"
Process started >>>
a_12_3_5- is in k_3_4_6-a_12_3_5-
b_1_1_7- is in d_4_1_5-b_1_1_7-f_3_8_3
b_1_1_7- is in e_3_3_1-f_3_8_7-f_21_3_1-b_1_1_7-a_1_1_1-
<<< Process finished.
================ READY ================