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