Archive-Tar-Stream
view release on metacpan or search on metacpan
lib/Archive/Tar/Stream.pm view on Meta::CPAN
# do checksum
substr($block, 148, 8) = " ";
unless (unpack("%16C*", $block) == $chksum) {
return;
}
my %header = (
name => $items[0],
mode => oct($items[1]),
uid => oct($items[2]),
gid => oct($items[3]),
size => oct($items[4]),
mtime => oct($items[5]),
# checksum
typeflag => $items[7],
linkname => $items[8],
# magic
uname => $items[10],
gname => $items[11],
devmajor => oct($items[12]),
devminor => oct($items[13]),
lib/Archive/Tar/Stream.pm view on Meta::CPAN
in %extra to make sure they're all known keys.
=cut
sub BlankHeader {
my $Self = shift;
my %hash = (
name => '',
mode => 0777,
uid => 0,
gid => 0,
size => 0,
mtime => time(),
typeflag => '0', # this is actually the STANDARD plain file format, phooey. Not 'f' like Tar writes
linkname => '',
uname => '',
gname => '',
devmajor => 0,
devminor => 0,
prefix => '',
);
lib/Archive/Tar/Stream.pm view on Meta::CPAN
=cut
sub CreateHeader {
my $Self = shift;
my $header = shift;
my $block = pack("a100a8a8a8a12a12a8a1a100a8a32a32a8a8a155",
$header->{name},
sprintf("%07o", $header->{mode}),
sprintf("%07o", $header->{uid}),
sprintf("%07o", $header->{gid}),
sprintf("%011o", $header->{size}),
sprintf("%011o", $header->{mtime}),
" ", # chksum
$header->{typeflag},
$header->{linkname},
"ustar \0", # magic
$header->{uname},
$header->{gname},
sprintf("%07o", $header->{devmajor}),
sprintf("%07o", $header->{devminor}),
lib/Archive/Tar/Stream.pm view on Meta::CPAN
=head1 TARHEADER format
This is the "BlankHeader" output, which includes all the fields
in a standard tar header:
my %hash = (
name => '',
mode => 0777,
uid => 0,
gid => 0,
size => 0,
mtime => time(),
typeflag => '0', # this is actually the STANDARD plain file format, phooey. Not 'f' like Tar writes
linkname => '',
uname => '',
gname => '',
devmajor => 0,
devminor => 0,
prefix => '',
);
( run in 1.046 second using v1.01-cache-2.11-cpan-5735350b133 )