X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FCmdAlias.pm;h=1f418967c30cae00ca096045b25bc35462cbc089;hb=3eb9538d135d9ff21d8ce7c0e0c6b3e6d7fb59a9;hp=8e7f8834ea4503f03fc1b9b805672026d2246982;hpb=a0cf638d2ec10e9f464bb749cf1b70fd105baf9f;p=spider.git diff --git a/perl/CmdAlias.pm b/perl/CmdAlias.pm index 8e7f8834..1f418967 100644 --- a/perl/CmdAlias.pm +++ b/perl/CmdAlias.pm @@ -1,32 +1,16 @@ # -# This package simply takes a string, looks it up in a -# hash and returns the value. +# This package impliments some of the ak1a aliases that can't +# be done with interpolation from the file names. # -# The hash is produced by reading the Alias file in both command directories -# which contain entries for the %cmd hash. This file is in different forms in -# the two directories:- +# Basically it takes the input and bashes down the list of aliases +# for that starting letter until it either matches (in which a substitution +# is done) or fails # -# in the main cmd directory it has entries like:- +# To roll your own Aliases, copy the /spider/cmd/Aliases file to +# /spider/local_cmd and alter it to your taste. # -# package CmdAlias; +# To make it active type 'load/aliases' # -# %alias = ( -# sp => 'send private', -# s/p => 'send private', -# sb => 'send bulletin', -# ); -# -# for the local cmd directory you should do it like this:- -# -# package CmdAlias; -# -# $alias{'s/p'} = 'send private'; -# $alias{'s/b'} = 'send bulletin'; -# -# This will allow you to override as well as add to the basic set of commands -# -# This system works in same way as the commands, if the modification times of -# the two files have changed then they are re-read. # # Copyright (c) 1998 Dirk Koopman G1TLH # @@ -85,7 +69,7 @@ sub get_cmd $n = @{$ref}; for ($i = 0; $i < $n; $i += 3) { if ($s =~ /$ref->[$i]/i) { - my $ri = qq{\$ro = "$ref->[$i+1]"}; + my $ri = qq{\$ro = "$ref->[$i+1]"}; my $ro; eval $ri; return $ro; @@ -105,16 +89,16 @@ sub get_hlp $let = lc $let; - checkfiles(); - $ref = $alias{$let}; return undef if !$ref; $n = @{$ref}; for ($i = 0; $i < $n; $i += 3) { if ($s =~ /$ref->[$i]/i) { - my $ri = qq{$ref->[$i+2]}; - return $ri; + my $ri = qq{\$ro = "$ref->[$i+2]"}; + my $ro; + eval $ri; + return $ro; } } return undef;