home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 10 / AU_CD10.iso / Updates / Perl / Non-RPC / !Perl / scripts / swi < prev    next >
Text File  |  1998-07-14  |  804b  |  42 lines

  1. #! perl -w
  2.  
  3. use RISCOS;
  4.  
  5. # Rules:
  6. # If it contains _ it's a name
  7. # If it starts & or 0x or 0X it's hex
  8. # If it contains a-fA-F it's probably hex
  9. # Else it's decimal
  10.  
  11. # If you want to list all the Wimp SWIs
  12. # perl -e 'system "perl scripts.swi " . join " ", (0x400c0..0x400ff)'
  13.  
  14. while( defined ( $_ = shift ) )
  15. {
  16.     if( tr/_// )
  17.     {
  18.         $name = $_;
  19.         $number = SWINumberFromString( $name );
  20.     }
  21.     elsif( s/^\&/0x/ or /^0x/i or ( tr/A-Fa-f// and s/^/0x/ ))
  22.     {
  23.         $number = oct;
  24.     }
  25.     else
  26.     {
  27.         $number = $_;
  28.     }
  29.     
  30.     $name = SWINumberToString( $number ) unless( defined $name );
  31.     
  32.     if( defined $number )
  33.     {
  34.         printf "%10u %10X $name\n", $number, $number;
  35.     }
  36.     else
  37.     {
  38.         print "         ?          ? $name\n";
  39.     }
  40.     undef $name;
  41. }
  42.