Verificar a existência da chave de hash cria a chave

Dado o seguinte código

#!/usr/bin/perl

use Data::Dumper;

my %hash;
my @colos = qw(ac4 ch1 ir2 ird kr3);

foreach my $colo (@colos) {
    if(exists $hash{output}{$colo}) {
        print "$colo is in the hash\n";
    }
}

print Dumper(\%hash);

Eu tenho um hash vazio criado. Eu tenho uma matriz com algumas abreviações. Se eu percorrer a matriz para ver se esses caras estão no hash, nada é exibido para STDOUT, o que é esperado, mas o $ hash {output} é criado por algum motivo. Isto não faz sentido. Tudo o que estou fazendo é um se existe. Onde é que eu me enganei

questionAnswers(8)

yourAnswerToTheQuestion