# from Text/PDF/Filter.pm package Text::PDF::FlateDecode; use strict; use vars qw(@ISA $havezlib); @ISA = qw(Text::PDF::Filter); BEGIN { eval {require "Compress/Zlib.pm";}; $havezlib = !$@; } sub new { return undef unless $havezlib; my ($class) = @_; my ($self) = {}; $self->{'outfilt'} = Compress::Zlib::deflateInit(); $self->{'infilt'} = Compress::Zlib::inflateInit(); bless $self, $class; } #### sub encodeOne ## no critic(Subroutines::ProhibitExcessComplexity) { my $self = shift; my $objnode = shift; my $filtername = shift; (...) my $filt; eval { require Text::PDF::Filter; my $package = "Text::PDF::$filtername"; $filt = $package->new; if (!$filt) { die; } }; if ($EVAL_ERROR) { warn "Failed to open filter $filtername (Text::PDF::$filtername)\n"; return 0; } (...)