sub clean
{
my $s = shift;
- $s =~ s/([-\w\d_]+)/$1/g;
+ $s =~ s/[^-\w\.]//g;
return $s;
}
sub erase
{
my $self = shift;
- 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));
+ unlink $self->{fn};
}