Comment puis-je archiver un répertoire en Perl comme le goudron n'en UNIX?

Je veux archiver un répertoire (je ne sais pas si je peux appeler "je veux tar un répertoire"). Je veux préserver les autorisations d'accès à l'autre bout quand je l'onu-tar. Je devrais m'attaquer à ce problème en perl.

Merci pour la réponse, mais pourquoi je vous demande de le faire en Perl, je veux qu'il soit indépendant des plates-formes. Je veux transférer un gros fichier de plusieurs machines. Ces machines peuvent être de n'importe quelle plate-forme. Je devrais être capable de décompresser ce fichier tar correctement droite? Donc, je veux écrire mon propre goudron et décompresser des programmes. Pourquoi je suis à l'aide de Perl est de le rendre indépendant de la plateforme. Donc je ne peux pas utiliser la commande tar par l'ouverture de la coquille au niveau du scénario et des trucs comme ça. Le Archive::Tar module ne traite qu'avec les goudronnée fichier, mais il n'a pas d'option pour archiver des fichiers.

Quel est le problème avec le goudron? Veuillez inclure les raisons pour lesquelles vous êtes ne peut pas ou n'utilisez pas de goudron pour cela.
Oui, “à goudron un répertoire” est une expression courante.
Je ne comprends pas votre problème avec l'Archive::Tar. Vous pouvez créer des archives comme ceci: Archive::Tar->create_archive( 'out.tgz', COMPRESSION_GZIP, @filelist); Qu'en zip? C'est sur linux, windows et mac.
Vous aurez besoin d'installer IO::Zlib (compatible core dans 5.10.0) pour utiliser la compression GZIP. Ou vous pouvez créer des archives zip avec Archive::Zip (également compatible et de base dans 5.10.0). le goudron dans le Perl est fourni avec l'Archive::Tar. Il est appelé ptar.

OriginalL'auteur Ram | 2009-02-05