http://www.perlmonks.org?node_id=302191


in reply to in memory files in 5.6.1

I have a script that tars a bunch of files. It would be nice to put them in a directory before tarring them and the end user doesn't want to create temporary files.
If you create the archive using Archive::Tar, you don't need to store the "files" as actual, physical files first. You can just add them to the archive in memory. See add_data().

Hmm. I'm a bit surprised to find that, if the source is indeed physical files but you want to archive it in a different location in the stored file tree, it provides no way to do just that. You can rename() the member file, after you added it, I suppose — but only if your version of the module is recent enough.