2010-10-25 18 views

Répondre

5

Votre open réussit (comme il fonctionne avec succès zcat), vous ne serez pas le code de sortie de zcat jusqu'à ce que vous fermez le descripteur de fichier si.

Vous pouvez vérifier si le fichier existe et est lisible avant de commencer, par exemple.

die "unable to read file" unless (-f "dummy.gz" and -r "dummy.gz") 
3

Vous voudrez peut-être envisager d'utiliser PerlIO::gzip, par exemple.

use PerlIO::gzip; 
open(FILE, '<:gzip', 'dummy.gz') or die $!; 
3

Dans votre deuxième exemple, le fichier ouvert par perl n'existe pas, il va mourir.

Dans votre premier exemple, la commande appelée par perl s'exécute (avec n'importe quel résultat), il n'y a donc aucune raison de mourir.