<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>genindex.pl to HTML</title>
<meta http-equiv="Content-Language" content="en-au">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<LINK rel=stylesheet href="perl.css" type="text/css">
</head>

<body>

<h1>genindex.pl to HTML.</h1>
<p class="top"><a href="index.htm">index</a></p>
<p>Generated: Tue Aug 29 15:33:20 2006 from genindex.pl 2005/11/13.</p>
<pre class="cd">
<span class="b">#!/Perl</span>

<span class="a">print</span> <span class="t">&quot;Hello, World...\n&quot;</span>;
<span class="c">my</span> <span class="o">@excl</span> = (<span class="t">&quot;404.shtml&quot;</span>,<span class="t">&quot;speed1.htm&quot;</span>,<span class="t">&quot;test3.php&quot;</span>,<span class="t">&quot;test4.php&quot;</span>,<span class="t">&quot;test5.php&quot;</span>,<span class="t">&quot;hits.php&quot;</span>,
<span class="t">&quot;phpinfo.php&quot;</span>,<span class="t">&quot;popup1.htm&quot;</span>);

<span class="c">my</span> <span class="e">$in_dir</span> = <span class="a">shift</span> || <span class="a">die</span> <span class="t">&quot;ERROR: Must give input folder ...\n&quot;</span>;
<span class="c">my</span> <span class="e">$out_file</span> = <span class="t">'tempout2.txt'</span>;
<span class="c">my</span> <span class="e">$OH</span>;
<span class="a">open</span> <span class="e">$OH</span>, <span class="t">&quot;></span><span class="e">$out_file</span><span class="t">&quot;</span> || <span class="a">die</span> <span class="t">&quot;ERROR: Can NOT create output file ... aborting ...\n&quot;</span>;

<span class="a">print</span> <span class="t">&quot;Processing directory </span><span class="e">$in_dir</span><span class="t"> ...\n&quot;</span>;

<span class="a">opendir</span>( DIR, <span class="e">$in_dir</span>) || <span class="a">die</span> <span class="t">&quot;ERROR: Can NOT open </span><span class="e">$in_dir</span><span class="t"> ... aborting ...\n&quot;</span>;
<span class="c">my</span> <span class="o">@files</span> = <span class="a">readdir</span>(DIR);
<span class="a">closedir</span> DIR;

<span class="a">print</span> <span class="t">&quot;Found &quot;</span>.<span class="a">scalar</span> <span class="o">@files</span>.<span class="t">&quot; items in the directory ...\n&quot;</span>;
<span class="c">my</span> <span class="e">$file</span>;
<span class="c">my</span> <span class="e">$filcnt</span> = 0;
<span class="c">my</span> <span class="o">@titles</span> = ();
<span class="c">foreach</span> <span class="e">$file</span> (<span class="a">sort</span> <span class="o">@files</span>) {
&nbsp;&nbsp; <span class="c">if</span> ((<span class="e">$file</span> <span class="c">eq</span> <span class="t">'.'</span>)||(<span class="e">$file</span> <span class="c">eq</span> <span class="t">'..'</span>)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">next</span>;
&nbsp;&nbsp; }
&nbsp;&nbsp; <span class="c">my</span> <span class="e">$ff</span> = <span class="e">$in_dir</span> . <span class="t">'/'</span> . <span class="e">$file</span>;
&nbsp;&nbsp; <span class="c">if</span> ( -d <span class="e">$ff</span> ) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="b">#prt( &quot;Ignore Directory $file ...\n&quot;);</span>
&nbsp;&nbsp; } <span class="c">else</span> {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">if</span> (is_my_file(<span class="e">$file</span>)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">my</span> <span class="e">$tit</span> = get_title(<span class="e">$ff</span>);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">if</span> (<span class="a">length</span>(<span class="e">$tit</span>) == 0) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$tit</span> = <span class="e">$file</span>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="a">push</span>(<span class="o">@titles</span>, <span class="t">&quot;</span><span class="e">$tit</span><span class="t">|</span><span class="e">$file</span><span class="t">&quot;</span>);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="b">### prt( &quot;\$mypages[$filcnt] = \&quot;$file|$tit\&quot;;\n&quot;);</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$filcnt</span>++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <span class="c">else</span> {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="b">#prt( &quot;IGNORE $file ...\n&quot; );</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp; }
}
prt( <span class="t">&quot;Done list in FILE order ... now title order ...\n&quot;</span> );
<span class="c">my</span> <span class="e">$fc</span> = 0;
<span class="c">foreach</span> <span class="e">$file</span> (<span class="a">sort</span> <span class="o">@titles</span>) {
&nbsp;&nbsp; prt( <span class="t">&quot;\$mypages[</span><span class="e">$fc</span><span class="t">] = \&quot;</span><span class="e">$file</span><span class="t">\&quot;;\n&quot;</span> );
&nbsp;&nbsp; <span class="e">$fc</span>++;
}
<span class="a">close</span> <span class="e">$OH</span>;

<span class="c">sub</span> get_title {
&nbsp;&nbsp; <span class="c">my</span> (<span class="e">$f</span>) = <span class="o">@_</span>;
&nbsp;&nbsp; <span class="a">open</span> <span class="e">$IF</span>, <span class="t">&quot;&lt;</span><span class="e">$f</span><span class="t">&quot;</span> <span class="c">or</span> <span class="a">die</span> <span class="t">&quot;Can not OPEN </span><span class="e">$f</span><span class="t">! ... aborting ...\n&quot;</span>;
&nbsp;&nbsp; <span class="c">my</span> <span class="o">@lines</span> = &lt;<span class="e">$IF</span>>; <span class="b"># slurp whole file, to an array of lines</span>
&nbsp;&nbsp; <span class="a">close</span>(<span class="e">$IF</span>);
&nbsp;&nbsp; <span class="c">my</span> <span class="e">$titln</span> = <span class="t">''</span>;
&nbsp;&nbsp; <span class="c">my</span> <span class="e">$intit</span> = 0;
&nbsp;&nbsp; <span class="c">foreach</span> <span class="c">my</span> <span class="e">$ln</span> (<span class="o">@lines</span>) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="a">chomp</span> <span class="e">$ln</span>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">if</span> (<span class="e">$intit</span>) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">if</span> (<span class="e">$ln</span> =~ /&lt;\/title>/i) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$titln</span> .= <span class="t">' '</span>.<span class="e">$ln</span>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$intit</span> = 0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <span class="c">else</span> {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$titln</span> .= <span class="t">' '</span>.<span class="e">$ln</span>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <span class="c">elsif</span> ( <span class="e">$ln</span> =~ /&lt;title/i ) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">if</span> (<span class="e">$ln</span> =~ /&lt;\/title>/i) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$titln</span> = <span class="e">$ln</span>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <span class="c">else</span> {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$titln</span> = <span class="e">$ln</span>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$intit</span> = 1;&nbsp; <span class="b"># stay here until end</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <span class="c">else</span> {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp; }
&nbsp;&nbsp; <span class="c">if</span> (<span class="a">length</span>(<span class="e">$titln</span>)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="b"># strip &lt;title</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$pos</span> = <span class="a">index</span>(<span class="a">uc</span>(<span class="e">$titln</span>),<span class="t">'&lt;TITLE>'</span>);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">if</span> (<span class="e">$pos</span> != -1) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$titln</span> = <span class="a">substr</span>(<span class="e">$titln</span>, (<span class="e">$pos</span> + 7));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$pos</span> = <span class="a">index</span>(<span class="a">uc</span>(<span class="e">$titln</span>), <span class="t">'&lt;/TITLE>'</span>);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">if</span> (<span class="e">$pos</span> > 0) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$titln</span> = <span class="a">substr</span>(<span class="e">$titln</span>,0, <span class="e">$pos</span>);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp; }
&nbsp;&nbsp; <span class="c">while</span>(<span class="a">length</span>(<span class="e">$titln</span>)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">if</span> (<span class="a">substr</span>(<span class="e">$titln</span>,0,1) <span class="c">eq</span> <span class="t">' '</span>) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$titln</span> = <span class="a">substr</span>(<span class="e">$titln</span>,1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <span class="c">else</span> {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">last</span>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp; }
&nbsp;&nbsp; <span class="c">while</span> (<span class="a">substr</span>(<span class="e">$titln</span>,-1) <span class="c">eq</span> <span class="t">' '</span>) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$titln</span> = <span class="a">substr</span>(<span class="e">$titln</span>,0, <span class="a">length</span>(<span class="e">$titln</span>)-1);
&nbsp;&nbsp; }
&nbsp;&nbsp; <span class="c">return</span> <span class="e">$titln</span>;
}

<span class="c">sub</span> is_my_file {
&nbsp;&nbsp; <span class="c">my</span> (<span class="e">$f</span>) = <span class="o">@_</span>;
&nbsp;&nbsp; <span class="c">my</span> <span class="e">$ret</span> = 0;
&nbsp;&nbsp; <span class="c">if</span> (<span class="e">$f</span> =~ /(.*)\.htm$/i) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$ret</span> = 1;
&nbsp;&nbsp; } <span class="c">elsif</span> (<span class="e">$f</span> =~ /(.*)\.html$/i) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$ret</span> = 1;
&nbsp;&nbsp; } <span class="c">elsif</span> (<span class="e">$f</span> =~ /(.*)\.shtml$/i) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$ret</span> = 1;
&nbsp;&nbsp; } <span class="c">elsif</span> (<span class="e">$f</span> =~ /(.*)\.php$/i) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$ret</span> = 1;
&nbsp;&nbsp; }
&nbsp;&nbsp; <span class="c">if</span> (<span class="e">$ret</span>) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">foreach</span> <span class="c">my</span> <span class="e">$f2</span> (<span class="o">@excl</span>) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">if</span> (<span class="a">uc</span>(<span class="e">$f2</span>) <span class="c">eq</span> <span class="a">uc</span>(<span class="e">$f</span>)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="e">$ret</span> = 0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="c">last</span>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp; }
&nbsp;&nbsp; <span class="c">return</span> <span class="e">$ret</span>;
}


<span class="c">sub</span> prt {
&nbsp;&nbsp; <span class="c">my</span> (<span class="e">$m</span>) = <span class="o">@_</span>;
&nbsp;&nbsp; <span class="a">print</span> <span class="e">$m</span>;
&nbsp;&nbsp; <span class="a">print</span> <span class="e">$OH</span> <span class="e">$m</span>;
}

</pre>
<p class="top"><a href="index.htm">index</a></p>
<p>
<a href="http://validator.w3.org/check?uri=referer">
<img src="valid-html401.gif" alt="Valid HTML 4.01 Transitional" width="88" height="31">
</a>
</p>
</body>
</html>
