Rolf: *.pl o.ae. archivieren

Beitrag lesen

Hallo Cheatah, vielen Dank

elsif (-f _) {     # hurra eine Datei...

Äh... elsif (-f $_), oder?

das geht so ;-)

if(/.$ext/i){  # Nur meine Erweiterung

/.$ext$/i, damit nicht eine ".play" auch archiviert wird.

Danke auch dafür.

print "Content-type: text/plain\n\n";

Kann entfallen, ist kein CGI...

Vieles hättest Du Dir mit File::Find vereinfachen können! Quickhack (ungetestet):

use File::Find;
use Archive::Tar;
$dir = "c:";
$sikdir = "d:/pls";
$archive = "perlscripte_c";
$ext = "pl";
$tar = Archive::Tar->new();
$i = 0;
find(&add_tar, $dir);
sub add_tar {
  if ($File::Find::name =~ /.$ext$/i) { $tar->add_files($File::Find::name); $i++; }
}
$tar->write("$sikdir/$archive.tar");
print "Content-type: text/plain\n\n";
print "Es wurden $i Dateien der Erweiterung '$ext' in das folgende Archiv gesichert: '$sikdir/$archive.tar'\n";

Die Bug-Suche darfst Du übernehmen ;-)

Mach ich! Heute Abend....

Viele Grüße, Rolf