ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/utils/regiontree
Revision: 1.3
Committed: Wed Jan 24 22:46:38 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
CVS Tags: rel-2_82, rel-2_81, rel-2_80, rel-3_1, rel-3_0, rel-2_6, rel-2_7, rel-2_4, rel-2_5, rel-2_2, rel-2_3, rel-2_0, rel-2_1, rel-2_72, rel-2_73, rel-2_71, rel-2_76, rel-2_77, rel-2_74, rel-2_75, rel-2_54, rel-2_55, rel-2_56, rel-2_79, rel-2_52, rel-2_53, rel-2_32, rel-2_90, rel-2_92, rel-2_93, rel-2_78, rel-2_61, rel-2_43, rel-2_42, rel-2_41, HEAD
Changes since 1.2: +2 -2 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 elmex 1.1 #!/opt/perl/bin/perl
2    
3 root 1.3 # usage: regiontree maps/regions
4 root 1.2
5 elmex 1.1 my %regions;
6    
7     sub print_rec {
8     my ($reg, $pad) = @_;
9     print ((" " x ($pad * 4))."$reg\n");
10     for (@{$regions{$reg}->{child}}) {
11     print_rec ($_, $pad + 1);
12     }
13     }
14    
15    
16     my $curreg = '';
17 root 1.3 while (<>) {
18 elmex 1.1 if (/^region\s*(\S+)\s*$/) {
19     $curreg = $1;
20     $regions{$curreg} = {};
21     } elsif (/^parent\s*(\S+)\s*$/) {
22     $regions{$1} = {} unless exists $regions{$1};
23     $regions{$curreg}->{parent} = $1;
24     push @{$regions{$1}->{child}}, $curreg;
25     }
26     }
27    
28     for (sort grep { not $regions{$_}->{parent} } keys %regions) {
29     print_rec ($_);
30     }