use autodie; my (%used, %player); open $player{$_}, '<', "$_.txt" for qw( DR DL DC SW ); open my $formation, '<', 'formation.txt'; for my $position (<$formation>) { chomp $position; while (readline $player{$position}) { my ($name) = split; next if $used{$name}; $used{$name} = 1; last; } print $position, ' ', $_ // "NoPlayer\n"; } #### SW Varane,114.75 DR Arbeloa,149 DC Ramos,169 DC Pepe,163 DL Marcelo,148.5 SW Pepe,65.2 DR Carvajal,146 DC Varane,153 DC Nacho,134 DL Coentrao,148 #### SW Varane,114.75 DR Arbeloa,149 DC Ramos,169 DC Pepe,163 DL Marcelo,148.5 SW Nacho,60.3 DR Carvajal,146 DC NoPlayer DC NoPlayer DL Coentrao,148