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

  1. #!perl -w
  2. # Version 0.01
  3. use RISCOS::DynamicArea '/.*/';
  4. use strict;
  5.  
  6. if (@ARGV)
  7. {
  8.     my $areas = hash_dynamic_areas dynamic_areas;
  9.     
  10.     ARGVLOOP: foreach my $area (@ARGV)
  11.     {
  12.     unless ($area =~ /^\d+$/)
  13.     {
  14.         my $num = $areas->{$area};
  15.         unless (defined $num)
  16.         {
  17.         warn "Dynamic area name '$area' is unknown\n";
  18.         next ARGVLOOP;
  19.         }
  20.         if ($num == -1)
  21.         {
  22.         warn "Dynamic area name '$area' is ambiguous\n";
  23.         next ARGVLOOP;
  24.         }
  25.         $area = $num;
  26.     }
  27.         
  28.     unless (delete_dynamic_area $area)
  29.     {
  30.         my $name = name_dynamic_area $area;
  31.         $name = '' unless defined $name;
  32.         
  33.         warn "Failed to delete area $area - '$name' - $!\n";
  34.     }
  35.     }            
  36. }
  37. else
  38. {
  39.     my %area;
  40.     foreach my $area (dynamic_areas)
  41.     {
  42.     $area{$area} = name_dynamic_area $area;
  43.     }
  44.     
  45.     foreach (sort {$a <=> $b} keys %area)
  46.     {
  47.     print "$_:\t$area{$_}\n";
  48.     }
  49. }
  50.