#!/usr/bin/perl -w # The following code deals with the form data if ($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/["]//gi; $value =~ s/[+]/ /gi; $FORM{$name} = $value; } } $keyword=$FORM{keyword}; chdir("/home/1008/gnicoll/www.abernyte.net/public_html"); opendir(DIR, "."); print "Content-type: text/html\n\n"; print""; print""; print""; print""; print""; print""; print""; print""; print""; print"
Go
"; print""; print""; print""; print"
"; print""; print""; print""; print"
Search Results - Your Search for the keyword(s) $keyword returned the following results:

"; print""; print""; print""; print""; print""; print""; print""; print""; print""; print""; print""; print""; print"

Noogle Home

Documentation

Credits

FAQ

Quiz
"; print"

"; print"

Search Results

"; print"

"; print"

"; print"

"; while($file = readdir(DIR)) { next if ($file !~ /.html/); open(FILE, $file); $foundone = 0; $title = ""; while () { if (/$keyword/i) { $foundone = 1; } if(//) { chop; $title = $_; $title =~ s/<title>//g; $title =~ s/<\/title>//g; } if(/<TITLE>/) { chop; $title = $_; $title =~ s/<TITLE>//g; $title =~ s/<\/TITLE>//g; } if($title eq "") { $title = $file; } if(/<META NAME="description" CONTENT="/i) { chop; $content = $_; $content =~ s/<META NAME="description" CONTENT="//g; $content =~ s/">//g; } if(/<META NAME="author" CONTENT="/i) { chop; $author = $_; $author =~ s/<META NAME="author" CONTENT="//g; $author =~ s/">//g; } if($content eq "") { $content = "No Meta-tag page information available"; } if($author eq "") { $author = "No Meta-tag author information available"; } $count++ while /$keyword/ig; } if($foundone) { print "<A HREF=/$file>$title</A><br>"; print"<table width=100% border=0 align=center bgcolor=#e5ecf9>"; print"<tr>"; print"<td height=10><font size=-1><b>Results</b>: <i>$count</i> occurrence(s) of the word(s) <i>\"$keyword\"</i> on this page.<br> <b>Page Description</b>: $content<br><b>Page Author</b>: $author<br><b>URL</b>:<font color=#008000>http://www.ally.nu/$file</td>"; print"</tr>"; print"</table>"; print"<br>"; $count = 0; $listed=1; } close(FILE); } if($listed ne 1) {print "<p><br>Sorry, your search returned <b>$foundone</b> results. <A HREF=/index.html>Search Again?</A>";} else {print "<P><br>Do you want a <A HREF=/index.html>new search?</A>";} print"</TD>"; print"</TR>"; print"</TBODY>"; print"</TABLE>"; print"<BR>"; print"<CENTER>"; print"<TABLE cellSpacing=0 cellPadding=0 width=100% border=0>"; print"<TBODY>"; print"<TR>"; print"<TD bgColor=#3366cc><IMG height=1 width=1></TD></TR></TBODY></TABLE>"; print"<TABLE cellSpacing=0 cellPadding=2 width=100% bgColor=#e5ecf9 border=0>"; print"<TBODY>"; print"<TR>"; print"<TD noWrap bgColor=#e5ecf9>"; print"<TABLE cellSpacing=0 cellPadding=0 width=100% border=0>"; print"<TBODY>"; print"<TR>"; print"<TD noWrap align=middle><FONT size=-1>©2005 Noogle - Napier University Server Side Languages Coursework <A href=http://www.ally.nu>Noogle Home</A> - <A href=http://www.ally.nu/docs>Documentation</A> - <A href=http://www.ally.nu/credits>Credits</A> - <A href=http://www.ally.nu/docs/faq>FAQ</A> - <A href=http://www.ally.nu/quiz>Quiz</A></FONT></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></CENTER></BODY></ HTML>"; closedir(DIR); exit;