use Data::Dumper; open (my $infile, "<", "teamInput.txt") || die $!; while (defined(my $line = <$infile>)) { chomp $line; my @team = split /=/, $line; my ($a, $b) = split /\//, $team[1]; #member in group 1 and 2 split by '/' my @x = split /\,/, $a; my @y = split /\,/, $b; my @results; for my $x1(@x) { for my $y1(@y){ #if ($x1 eq $y1){ push @results, [$team[0],$x1, $y1]; } } print join("\n", map { $_->[1] "$_->[0] AND $_->[0]" } @results), "\n"; #print Dumper(\@results); } #}