Remerci.
En somme, avec mon " open(...) == 0 ", j'utilisais la valeur indéfinie dans un contexte scalaire numérique, donc elle était assimilée à zéro, et il est donc normal que mon programme donnait le résultat attendu.
Mais bon, ce n'est sans doute pas une très bonne pratique, puisque ça provoquait un avertissement.
D'après ce que vous me dites, je pourrais sans doute écrire " if (open( FICHIERIN, "C\\LeFichier"))
ceci signifiant le cas de réussite.
Je crois quand même que je vais garder la formule avec "defined", qui a l'avantage de rappeler que open renvoie une valeur indéfinie en cas d'échec.
Je vais remplacer mes "if (open(...) == 0) dans tous mes programmes. Comme jusqu'ici, les ouvertures de fichiers réussissaient toujours, je n'avais jamais eu d'avertissement...
Encore un grand merci.


