Предполагая, что вы выяснили, какие файлы вы хотите использовать, используя File :: Find, что-то вроде
my @dir = qw/a b/ ;
system "tar -cvf mytar @dir" ;
может работать. Но вы можете обнаружить, что командная строка слишком длинная.
В этом случае возможно записать список файлов в файл и использовать опцию
--files-from=NAME
(и, пожалуйста, не говорите мне, что вам не разрешено писать в файлы)