Das macht für mich irgendwie kein Sinn.
Du legst ein Verzeichnis an und wenn ein Fehler auftritt informierst du den Benutzer - das ist ja noch logisch. Aber warum versuchst du danach das Verzeichnis wieder zu löschen, wenn es doch gar nicht angelegt werden konnte?Besser ist es, dass man zuvor überprüft ob event. das Verzeichnis schon existiert, wie im Code unten. Weiterhin würde ich überprüfen ob das Verzeichnis in das das neue Verzeichnis angelegt werden soll schreibbar ist, etc.
#!/usr/bin/perl use strict;
use warnings;
use Tk;
use Tk::Dialog;
my $mw = MainWindow->new();
$mw->Label(-text => 'Verzeichnis:')->pack();
my $entry = $mw->Entry()->pack();
$mw->Button(-text => 'Erstelle Verzeichnis',
-command => [\&create_dir, $mw, $entry])->pack();
MainLoop();
sub create_dir {
my($mw, $entry) = @_;
my $dir = $entry->get();
if(-e $dir) {
my $msg = "Konnte Verzeichnis nicht erstellen, existiert bereits!\n";
$mw->Dialog(-text => $msg)->Show();
return;
}
unless(mkdir($dir)) {
my $msg = sprintf("Konnte Verzeichnis nicht erstellen: %s\n", $!);
$mw->Dialog(-text => $msg)->Show();
return;
}
$mw->Dialog(-text => 'Verzeichnis wurde erstellt');
}
Datum: 29.03.2007-18:48
