File manager - Edit - /usr/local/cpanel/3rdparty/perl/542/cpanel-lib/Pristine/Tar/Delta/Tarball.pm
Back
#!/usr/bin/perl # pristine-tar delta files formatted as tarballs package Pristine::Tar::Delta::Tarball; use Pristine::Tar; use Pristine::Tar::Delta; use File::Basename; use warnings; use strict; sub write { my $class = shift; my $deltafile = shift; my $delta = shift; my $tempdir = tempdir(); foreach my $field (keys %$delta) { if (Pristine::Tar::Delta::is_filename($field)) { link($delta->{$field}, "$tempdir/$field") || die "link $tempdir/$field: $!"; } else { open(my $out, ">", "$tempdir/$field") || die "$tempdir/$field: $!"; print $out $delta->{$field} . "\n"; close $out; } } doit("tar", "czf", $deltafile, "-C", $tempdir, keys %$delta); return $delta; } sub read { my $class = shift; my $deltafile = shift; my $tempdir = tempdir(); doit("tar", "xf", File::Spec->rel2abs($deltafile), "-C", $tempdir); my %delta; foreach my $file (glob("$tempdir/*")) { if (-f $file) { my $field = basename($file); if (Pristine::Tar::Delta::is_filename($field)) { $delta{$field} = $file; } else { open(my $in, "<", $file) || die "$file: $!"; { local $/ = undef; $delta{$field} = <$in>; } chomp $delta{$field}; close $in; } } } return \%delta; } 1
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings