X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FScript.pm;h=1e94ce595325e61cb69bd4c14ceb140330100751;hb=f45d04e999b798f21ddcb887cf1bb9f3eb3a27b4;hp=05f408eca6daa26e82289de97da5ac29233e7e6c;hpb=b9dffeff7239952814342dad19db3a51def6fab7;p=spider.git diff --git a/perl/Script.pm b/perl/Script.pm index 05f408ec..1e94ce59 100644 --- a/perl/Script.pm +++ b/perl/Script.pm @@ -3,7 +3,7 @@ # # Copyright (c) 2001 Dirk Koopman G1TLH # -# $Id$ +# # package Script; @@ -22,7 +22,7 @@ my $base = "$main::root/scripts"; sub clean { my $s = shift; - $s =~ s/[^-\w\.]//g; + $s =~ s/([-\w\d_]+)/$1/g; return $s; } @@ -118,5 +118,26 @@ sub lines sub erase { my $self = shift; - unlink $self->{fn}; + my $call = clean($self->call); + + my $fn; + my $try; + + $try = "$base/" . clean(lc $self->call); + if (-w $try) { + $fn = $try; + } else { + $try = "$base/" . clean(uc $self->call); + if (-w $try) { + $fn = $try; + } + } + + if ($fn && -w $fn) { + unless (unlink $fn) { + return ($self->msg('m22'. $call)); + } + return ($self->msg('m20', $call)); + } + return ($self->msg('e3', "unset/startup", $call)); }