remove Prot.pm, sort %valid fields
[spider.git] / perl / Bands.pm
index 16a992ed603c77c9da3218a07f49661badeec13a..ac3647ea47207b0743c5c5b4a9b7f3dc76aa95a2 100644 (file)
@@ -3,7 +3,7 @@
 #
 # Copyright (c) 1998 - Dirk Koopman G1TLH
 #
-# $Id$
+#
 #
 
 package Bands;
@@ -21,18 +21,18 @@ use vars qw(%bands %regions %aliases $bandsfn %valid);
 $bandsfn = "$main::data/bands.pl";
 
 %valid = (
+                 band => '0,BAND,parraypairs',
+                 beacon => '0,BEACON,parraypairs',
                  cw => '0,CW,parraypairs',
-                 ssb => '0,SSB,parraypairs',
                  data => '0,DATA,parraypairs',
-                 sstv => '0,SSTV,parraypairs',
+                 fax => '0,FAX,parraypairs',
                  fstv => '0,FSTV,parraypairs',
-                 rtty => '0,RTTY,parraypairs',
-                 pactor => '0,PACTOR,parraypairs',
                  packet => '0,PACKET,parraypairs',
+                 pactor => '0,PACTOR,parraypairs',
                  repeater => '0,REPEATER,parraypairs',
-                 fax => '0,FAX,parraypairs',
-                 beacon => '0,BEACON,parraypairs',
-                 band => '0,BAND,parraypairs',
+                 rtty => '0,RTTY,parraypairs',
+                 ssb => '0,SSB,parraypairs',
+                 sstv => '0,SSTV,parraypairs',
                 );
 
 # load the band data
@@ -131,15 +131,18 @@ sub field_prompt
        return $valid{$ele};
 }
 
-no strict;
+#no strict;
 sub AUTOLOAD
 {
-       my $self = shift;
+       no strict;
        my $name = $AUTOLOAD;
        return if $name =~ /::DESTROY$/;
-       $name =~ s/.*:://o;
+       $name =~ s/^.*:://o;
   
-       @_ ? $self->{$name} = shift : $self->{$name} ;
+       # this clever line of code creates a subroutine which takes over from autoload
+       # from OO Perl - Conway
+       *$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
+       goto &$AUTOLOAD;
 }
 
 1;