Comparar valores em arquivos csv

Estou comparando valores diferentes em dois arquivos csv. Se eu não corresponder, quero adicionar (ou atualizar) meus dispositivos no meu Sistema de Gerenciamento.

output1.csv (nome, ip) - sistema primário

 Test1, 10.56.7.13
 Test2, 10.56.4.14
 Test3, 10.56.5.15

output2.csv (id, nome, ip) - Sistema secundário

 1234,Test1, 10.56.7.13
 1235,Test2, 10.56.4.10

Meu resultado deve ser: não faço nada comTest1 (porque já está no sistema 2), devo atualizarTest2 (porque agora tenho um endereço IP diferente) e devo adicionarTest3, porque eu não o tenho no sistema secundário.

use strict;
use warnings;
use feature qw(say);
use autodie;

use constant {
    FILE_1  => "output1.csv",
    FILE_2  => "output2.csv",
};

my %first;
my $name_first;
my $ip_first;
open my $output_1, "<", FILE_1;

while ( <$output_1> ) { 
    chomp;
    ($name_first, $ip_first) = split /,/;  #/
    $first{$name_first}=1;
    $first{$ip_first}=1;
}
close $output_1;

my %second;
open my $output_2, "<", FILE_2;

while ( <$output_2> ) { 
    chomp;
    my ($id_second,$name_second,$ip_second) = split /,/;
    if ( $first{$name_first} && $first{$ip_second} ) { 
        print "Match found $name_second, $ip_second\n";
        if ( $first{$name_first} eq $first{$name_second} &&  
            $first{$ip_first} ne $first{$ip_second}) 
        {   
            print "It should be done UPDATE for $name_second\n";
            else
            print "Devices should be added: $name_first\n"
            $second{$name_second}++;
        }   
    }   
}
close $output_2;

Estou recebendo um erro nesta linhaif ( $first{$name_first} e.g. $first{$name_second}. Eu acho que minha comparação está errada - existe uma maneira melhor de fazer isso?

Mais uma pergunta: para UPDATE (PUT Request), preciso de chaves separadas. Porque eu preciso do meuid noURL e eu preciso colocarXML template name eipaddress, isso deve ser adicionado. Posso fazer assim?

else {
    say "UPDATE need be done for $second{$name}";
       my $xml = XML::Twig -> new -> parsefile ( 'template.xml' );
      $xml ->set_pretty_print('indented_a');
   open ( my $input, '<', 'output2.csv' ) or die $!;
      while ( <$input> ) { 
      chomp; 
      my $id, my $name, $second{$name} = split /,/; 
      $xml -> root -> set_att('name', $name ); 
      $xml -> get_xpath('//ipaddress',0) -> set_text($second{$name}); 
      my $uri="https://hostname:9060/ers/config/networkdevice/$id";

questionAnswers(1)

yourAnswerToTheQuestion