%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
package Archive::Cpio::FileHandle_with_pushback; sub new { my ($class, $F) = @_; bless { F => $F, already_read => '' }, $class; } sub pushback { my ($FHwp, $s) = @_; $FHwp->{already_read} .= $s; } sub read { my ($FHwp, $size) = @_; $size or return; $size =~ /^\d+$/ or die "bad size $size\n"; my $tmp = ''; if ($FHwp->{already_read}) { $tmp = substr($FHwp->{already_read}, 0, $size); substr($FHwp->{already_read}, 0, $size) = ''; $size -= length($tmp); } read($FHwp->{F}, $tmp, $size, length($tmp)) == $size or die "unexpected end of file while reading (got $tmp)\n"; $tmp; } sub read_ahead { my ($FHwp, $size) = @_; my $s = $FHwp->read($size); $FHwp->pushback($s); $s; } 1;