Perl glob devolviendo un falso positivo

Lo que parecía un código sencillo sin duda no hizo lo que yo quería que hiciera.

¿Alguien puede explicarme qué hace y por qué?

my $dir = './some/directory';

if ( -d $dir && <$dir/*> ) {
    print "Dir exists and has non-hidden files in it\n";
}
else {
    print "Dir either does not exist or has no non-hidden files in it\n";
}

En mi caso de prueba, el directorio existía y estaba vacío. sin embargo, elthen (primera) sección de laif desencadenado en lugar de laelse sección como se esperaba.

No necesito que nadie sugiera cómo lograr lo que quiero lograr. Solo quiero entender la interpretación de Perl de este código, que definitivamente no coincide con el mío.

Respuestas a la pregunta(2)

Su respuesta a la pregunta