* slash characters are replaced by '_' so the equivalent name for 'show/qth'
is 'Emb_show_qth'.
-* you would normally do a 'my $self = shift;' as the first thing. There
+* you would normally do a 'my ($self, $line) = @_;' as the first thing. There
are a complete set of accessors for DXUser, DXCommandmode and DXChannel
classes and these are the recommended way of getting at these classes.
A fairly standard start might be:-
- $self = shift;
+ my ($self, $line) = @_;
+ @args = split /\s+/, $line;
$call = $self->call;
$user = $self->user;
of an element (the client will put the correct one in if required
[but see below]).
+* As this is perl and it is very easy to alter stuff to get it correct,
+ I would like to see some intelligent argument processing, e.g. if
+ you can have one callsign, you can have several. Interpret your
+ arguments; so for example:-
+
+ set/locator jo02lq - sets your own locator to JO02LQ
+ set/locator g1tlh jo02lq - sets G1TLH's locator (if you are allowed)
+
+ or
+
+ show/locator - displays your locator (and other info?)
+ show/locator in92jo - displays the bearing and distance to
+ IN92JO using your lat/long or locator
+ show/locator jn56in in92jo - bearing and distance between two
+ locators
+ show/locator gb7dxc - bearing and distance to gb7dxc if poss.
+
+* It is important that you remember when you have tie hashes using MLDBM
+ et al. If you do a DXUser->get($call) you will get a different (older)
+ thing than the one in $self->$user. This is almost certainly NOT what
+ you want if want to modify a user that is currently connected.
+
* Anything you output with a > as the last character is taken to mean
that this is a prompt and will not have a \r or \n appended to it.