Cheatah: *.pl o.ae. archivieren

Beitrag lesen

Hi,

Ihr könnt es benutzen, verbessern, bemeckern (ja bitte her mit Kommentaren!)

*Bist* *Du* *Dir* *wirklich* *ganz* *sicher*? [dsf 1.5] ;-)

Okay, dann will ich mal. Ist aber alles konstruktiv gemeint!

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

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

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

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

sub rapport{

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

»»  print "Es wurden $i Dateien der Erweiterung '$ext' in das folgende Archiv gesichert: '$sikdir/$archive.tar'\n";

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 ;-)

Cheatah