#!/usr/bin/perl -w use strict; my $line= <>; die "Not a Debian archive.$/" if "!$/" ne $line; while( defined( $line= <> ) ) { next if $/ eq $line; my( $name, $size )= ( split ' ', $line )[0,-2]; $name =~ s-/$--; if( -e $name ) { warn "Saving $name as $name.tmp$/"; $name .= '.tmp'; } open OUT, "> $name" or die "Can't create $name: $!$/"; warn "Writing $name ...$/"; local( $/ )= \4096; while( $size ) { $/= \$size if $size < ${$/}; print OUT <>.''; $size -= ${$/}; } close OUT or warn "Error closing $name: $!$/"; }