in reply to Creating a tarball
Untested:
use Path::Tiny; path('fred')->visit( sub { -f || -d and $tar->add_files($_) }, {recurse => 1} );
EDIT: Fuller version (still untested):
use Archive::Tar; my $tar = Archive::Tar::->new(); my @filenamelist; use Path::Tiny; path('fred')->visit( sub { -f || -d and push @filenamelist, "$_" }, {recurse => 1} ); $tar->add_files(@filenamelist); $tar->write("fred.tar.gz", COMPRESS_GZIP);
SECOND EDIT: Because I like Path::Tiny better than File::Find, although it has its quirks. For example, in the callback, $_ is a Path::Tiny object instead of a plain string, hence the "$_" which "stringifies" it.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Creating a tarball
by Tux (Canon) on Feb 07, 2019 at 07:30 UTC | |
by tybalt89 (Monsignor) on Feb 07, 2019 at 07:41 UTC | |
by kcott (Archbishop) on Feb 07, 2019 at 12:39 UTC | |
Re^2: Creating a tarball [Path::Tiny]
by kcott (Archbishop) on Feb 07, 2019 at 12:08 UTC | |
Re^2: Creating a tarball
by Aldebaran (Curate) on Feb 10, 2019 at 08:35 UTC |
In Section
Seekers of Perl Wisdom