Вы можете использовать IO :: Compress :: Gzip , который поставляется с Perl 5.10 и выше (или загрузить его через CPAN ).И используйте его для чтения файла.
Однако вы можете просто сделать stat для файла и просто посмотреть, содержит ли он только 26 байтов, так как пустой файл будет состоять всего из 26заголовок байта.
Я думаю, это просто зависит от того, что вы пытаетесь сделать.Вы просто пытаетесь определить, является ли файл gzip пустым, или вы планировали прочитать его и сначала распаковать?Если это первый, stat
будет самым простым.Если это последнее, используйте модуль IO::Compress::Gzip
, а не набор system
команд для вызова gzip
.IO::Compress::Gzip
поставляется со всеми дистрибутивами Perl 5.10 и выше, поэтому это стандартный способ обработки Zip.