Fuller version (still untested)
I was happy to see your post using Path::Tiny's visit method. This works well for me:
$ ./2.visit.pl 1.mu69 1.Плутон
argv is 1.mu69 1.Плутон
$ cat 2.visit.pl
#!/usr/bin/perl -w
use 5.016;
use Archive::Tar;
use Path::Tiny;
say "argv is @ARGV";
my $tar = Archive::Tar::->new();
my @filenamelist;
foreach (@ARGV) {
path("$_")->visit(
sub { -f || -d and push @filenamelist, "$_" },
{recurse => 1}
);
$tar->add_files(@filenamelist);
}
$tar->write("/home/bob/Desktop/1.files.tar.gz", COMPRESS_GZIP);
__END__
$