#!/usr/local/bin/perl
undef @Lines;
dodir('.');
open(OUT, ">../vnums.txt");
foreach $line (sort bynum(@Lines))
{
print OUT $line;
}
close OUT;
exit;
sub dodir
{
local($dir,$nlink) = @_;
local($dev,$ino,$mode,$subcount,$uid,$gid,$rdev);
local($size,$atime,$mtime,$ctime,$blksize,$blocks);
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,
$mtime,$ctime,$blksize,$blocks)
= stat('.') unless $nlink;
opendir(DIR,'.') || die "Can't open $dir";
local(@filenames) = grep(!/^\.\.?$/, readdir(DIR));
closedir(DIR);
$subcount = $nlink - 2;
for (sort(@filenames))
{
$name = "$dir/$_";
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,
$mtime,$ctime,$blksize,$blocks)
= lstat($_);
if (-d _)
{
} else
{
$isprn = index($_, ".are");
if ($isprn >= 0)
{
&process_file($dir,$_);
}
}
}
}
sub process_file {
local($dir,$infilename) = @_;
local($outfilename);
undef @Fileparse;
@Fileparse = split(/\./, $infilename);
if ($Fileparse[$#Fileparse] eq "are")
{
open(IN,"$infilename");
$in = <IN>;
chomp $in;
if ($in ne "#AREA")
{
close IN;
return;
}
$in = <IN>;
$in = <IN>;
$name = <IN>;
chomp $name;
chomp $name;
chomp $name;
chop $name;
$in = <IN>;
$vnums = <IN>;
($low,$high)=split(' ', $vnums);
$out = sprintf("%-5d - %-5d %s\n", $low, $high, $name);
push(@Lines,$out);
close IN;
}
}
sub bynum { $a <=> $b; }