X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FScript.pm;h=c18de6304bacf954c378fcdbd14330984e0b9f24;hb=8b2a7cbe3ddf35abde3a4a8f8f610bd827835f1b;hp=05f408eca6daa26e82289de97da5ac29233e7e6c;hpb=b9dffeff7239952814342dad19db3a51def6fab7;p=spider.git diff --git a/perl/Script.pm b/perl/Script.pm index 05f408ec..c18de630 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)); }