나는 stdin으로부터의 입력을 기대하거나, .log와 .log.gz 파일의 혼합으로부터 프로그램을 가지고있다. 다음은 프로그램에서 처리해야하는 세 가지 유형의 호출입니다.입력 파일을 균일하게 처리하는 방법
cat input.log | prog
prog < input.log
prog input.log input.log.gz
프로그램은 모든 입력 파일을 하나로 간주합니다. 나는 균일하게 모든 입력을 처리 할 수 ARGV에 투자 기대했다 :
while (<>) {
# process input
}
내 목표는 같은 루프 GZ 파일을 처리하는 것입니다. 어떻게 할 수 있습니까? 나는 그것이 얼마나 지저분한 지 알고 싶다. 너무 나쁜 경우 gz를 별도로 처리 할 것입니다.
코어 모듈은 Perl 5.8.8에서만 사용할 수 있습니다.
불쌍한 당신 ... 그 제한은 심각 펄 절름발이. 'IO :: Compress :: Gzip'과'IO :: Uncompress :: Gunzip'은 5.9.4 이후 핵심입니다. CPAN 모듈이없는 고대의 Perl 인터프리터에 어떤 이유가있을 수 있습니까? –
모듈 지원이없는 gzip 파일을 처리하는 것을 고려하지 않았습니다. 당신은 'run'gzip -cd'에 들어가서 그 출력물을 읽을 수 있습니다. 호출자가 압축 해제를 처리하는 것이 더 간단합니다. –
이 요구 사항이 마음에 들지 않아 불만을 토로했지만 지금 당장은 아무런 통제력이 없습니다. 모든 희망은 잃어버린 것이 아니라 다른 주제입니다! –