genindex.pl to HTML.

index -|- end

Generated: Tue Feb 2 17:54:39 2010 from genindex.pl 2005/12/13 2.7 KB.

#!/Perl
print "Hello, World...\n";
my @excl = ("404.shtml","speed1.htm","test3.php","test4.php","test5.php","hits.php",
"phpinfo.php","popup1.htm");
my $in_dir = shift || die "ERROR: Must give input folder ...\n";
my $out_file = 'tempout2.txt';
my $OH;
open $OH, ">$out_file" || die "ERROR: Can NOT create output file ... aborting ...\n";
print "Processing directory $in_dir ...\n";
opendir( DIR, $in_dir) || die "ERROR: Can NOT open $in_dir ... aborting ...\n";
my @files = readdir(DIR);
closedir DIR;
print "Found ".scalar @files." items in the directory ...\n";
my $file;
my $filcnt = 0;
my @titles = ();
foreach $file (sort @files) {
   if (($file eq '.')||($file eq '..')) {
      next;
   }
   my $ff = $in_dir . '/' . $file;
   if ( -d $ff ) {
      #prt( "Ignore Directory $file ...\n");
   } else {
      if (is_my_file($file)) {
         my $tit = get_title($ff);
         if (length($tit) == 0) {
            $tit = $file;
         }
         push(@titles, "$tit|$file");
         ### prt( "\$mypages[$filcnt] = \"$file|$tit\";\n");
         $filcnt++;
      } else {
         #prt( "IGNORE $file ...\n" );
      }
   }
}
prt( "Done list in FILE order ... now title order ...\n" );
my $fc = 0;
foreach $file (sort @titles) {
   prt( "\$mypages[$fc] = \"$file\";\n" );
   $fc++;
}
close $OH;
sub get_title {
   my ($f) = @_;
   open $IF, "<$f" or die "Can not OPEN $f! ... aborting ...\n";
   my @lines = <$IF>; # slurp whole file, to an array of lines
   close($IF);
   my $titln = '';
   my $intit = 0;
   foreach my $ln (@lines) {
      chomp $ln;
      if ($intit) {
         if ($ln =~ /<\/title>/i) {
            $titln .= ' '.$ln;
            $intit = 0;
         } else {
            $titln .= ' '.$ln;
         }
      } elsif ( $ln =~ /<title/i ) {
         if ($ln =~ /<\/title>/i) {
            $titln = $ln;
         } else {
            $titln = $ln;
            $intit = 1;  # stay here until end
         }
      } else {
      }
   }
   if (length($titln)) {
      # strip <title
      $pos = index(uc($titln),'<TITLE>');
      if ($pos != -1) {
         $titln = substr($titln, ($pos + 7));
         $pos = index(uc($titln), '</TITLE>');
         if ($pos > 0) {
            $titln = substr($titln,0, $pos);
         }
      }
   }
   while(length($titln)) {
      if (substr($titln,0,1) eq ' ') {
         $titln = substr($titln,1);
      } else {
         last;
      }
   }
   while (substr($titln,-1) eq ' ') {
      $titln = substr($titln,0, length($titln)-1);
   }
   return $titln;
}
sub is_my_file {
   my ($f) = @_;
   my $ret = 0;
   if ($f =~ /(.*)\.htm$/i) {
      $ret = 1;
   } elsif ($f =~ /(.*)\.html$/i) {
      $ret = 1;
   } elsif ($f =~ /(.*)\.shtml$/i) {
      $ret = 1;
   } elsif ($f =~ /(.*)\.php$/i) {
      $ret = 1;
   }
   if ($ret) {
      foreach my $f2 (@excl) {
         if (uc($f2) eq uc($f)) {
            $ret = 0;
            last;
         }
      }
   }
   return $ret;
}
sub prt {
   my ($m) = @_;
   print $m;
   print $OH $m;
}

index -|- top

checked by tidy  Valid HTML 4.01 Transitional