Archive-Any

 view release on metacpan or  search on metacpan

anonymize-archives  view on Meta::CPAN


        # replace all file content with random data
        my @mtime;
        for my $path (@files) {
            my $mode;
            my $member = file( $dir, $path );
            unshift @mtime, [ ( ( stat $member )[9] ) x 2, "$member" ];
            next if -d $member;
            if ( !-w $member ) {
                $mode = ( stat $member )[2] if !-w $member;
                chmod 0644, $member;
            }
            $member->spew( pack "C*", map rand 256, 1 .. -s $member );
            chmod $mode, $member if $mode;
        }

        # restore date and time
        utime @$_ for @mtime;

        # pick up owner and group
        my $iter   = Archive::Tar->iter($file);
        my $member = $iter->();
        my @opts   = (
            '--uid'   => $member->uid,



( run in 0.304 second using v1.01-cache-2.11-cpan-496ff517765 )