Forum Moderators: coopster & phranque

Message Too Old, No Replies

Have a question to someone who reads perl

         

Simone100

8:35 pm on Sep 22, 2006 (gmt 0)

10+ Year Member



Hi, Here is a script I am interested in. Later I'll have to figure out if I can connect it to a form imput. All I need to know is if you think this will have problems if the categories fill up. As in having difficulty overflowing the links to a second page etc. in the same category. The writer of the script has no email to ask. Thanks, please let me know, here's the script.

#!/usr/bin/perl
#########################################
#@2004-Directory Of Links(FREEVERSION) #
# #
#########################################
print "Content-type: text/html\n\n";
####Name of your directory#####
$indexname = "Internet Link Archive";
$path = "/var/www/html/dir";
$domain = "http://www.mrnicepages.com/dir";

$countfile = "counts.txt";
$buffer = $ENV{'QUERY_STRING'};
$count =0;
$count = $count + 1;

open(WERE,"$countfile");
@lines = <WERE>;
close(WERE);
foreach $lines (@lines){
chomp($lines);
($plus,$sum)=split(/\¦/,$lines);
}

if ($buffer eq 'add'){
&addnew();
}
sub addnew{
print <<ENDHTML;
Add your link to our directory.<br>
<form action=direct.cgi?addnew method=post>
Title: <input type="text" name="title"><br>
Description: <input type="text" name="description"><br>
Url: <input type="text" name="http" value="http://"><br>
Category:<select name=cat>
<option value=Advertising>Advertising
<option value=Art>Art
<option value=Business>Business
<option value=Computer>Computer Related
<option value=programmers>Programmers
<option value=freehosting>Free Hosting Providers
<option value=paidhosting>Paid Hosting Providers
<option value=searchengines>Search Engines/Free Links
<option value=marketing>Internet Marketing
<option value=freeware>FreeWare
<option value=shareware>Shareware
</select><br>
<input type=submit value=Submit><input type=reset value=Reset></form>
ENDHTML
;
exit;
}
if ($buffer eq 'addnew'){
&addnewlink();
}
sub addnewlink{
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
if ($FORM{cat} eq 'Advertising'){
open(AD,">>$path/advertising.html");
print AD "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(AD);
}
if ($FORM{cat} eq 'Art'){
open(ART,">>$path/art.html");
print ART "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(ART);
}
if ($FORM{cat} eq 'Business'){
open(BU,">>$path/business.html");
print BU "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(BU);
}
if ($FORM{cat} eq 'Computer'){
open(CO,">>$path/computer.html");
print CO "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(CO);
}
if ($FORM{cat} eq 'programmers'){
open(PRO,">>$path/programmers.html");
print PRO "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(PRO);
}
if ($FORM{cat} eq 'freehosting'){
open(FREE,">>$path/freehosting.html");
print FREE "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(FREE);
}
if ($FORM{cat} eq 'paidhosting'){
open(PA,">>$path/paidhosting.html");
print PA "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(PA);
}
if ($FORM{cat} eq 'searchengines'){
open(SE,">>$path/searchengines.html");
print SE "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(SE);
}
if ($FORM{cat} eq 'marketing'){
open(MA,">>$path/marketing.html");
print MA "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(MA);
}
if ($FORM{cat} eq 'freeware'){
open(FREEWARE,">>$path/freeware.html");
print FREEWARE "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(FREEWARE);
}
if ($FORM{cat} eq 'shareware'){
open(SHARE,">>$path/shareware.html");
print SHARE "<font size=4><a href=$FORM{http}>$FORM{title}</a> - </font><font size=2><B>$FORM{description}<br>";
close(SHARE);
}
print "Your link has been successfully added!";
exit;
}
$counter = $count + $plus;
if (-e$countfile){
open(TY,">$countfile");
print TY "$counter¦0";
close(TY);
}else{
open(UY,">$countfile");
print UY "0¦0";
close(UY);
}
print <<ENDHTML;
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.7 [en] (Win95; U) [Netscape]">
<title>$indexname</title>
</head>
<body>

<center><b><font size=+4>$indexname</font></b>
<br>
<hr SIZE=3 NOSHADE WIDTH="100%"></center>

<br>&nbsp;
<center><table BORDER COLS=1 WIDTH="50%" BGCOLOR="#000000" >
<tr>
<td>
<center>&nbsp;<b><a href="direct.cgi?add">Add Your Link</a>&nbsp;</b></center>
</td>
</tr>
</table></center>

<center>
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="$domain/advertising.html">Advertising</a> Engines</a></b><b></b>
<p><b>&nbsp;
<a href="$domain/art.html">Art</a>&nbsp;
<a href="$domain/marketing.html">Internet Marketing</a>&nbsp;</b><b><a href="$domain/business.html"></a></b>
<p><b><a href="$domain/business.html">Business</a>&nbsp;
<p><b>&nbsp;&nbsp; <a href="$domain/computer.html">Computer Related</a>&nbsp;&nbsp;
<a href="$domain/shareware.html">Shareware</a></b><b></b>
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="$domain/programmers.html">Programmers</a> Hosting</a></b><b></b>
<p><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="$domain/paidhosting.html">Paid
Hosting</a></b></center>

<br><b></b>&nbsp;<b></b>
<p><b>Total views to this page: $plus</b>
<br>&nbsp;
</body>
</html>

ENDHTML
;
exit;

[edited by: jatar_k at 2:45 pm (utc) on Sep. 25, 2006]
[edit reason] fixed sidescroll [/edit]

perl_diver

8:49 pm on Sep 22, 2006 (gmt 0)

10+ Year Member



I already gave you my opinion on another forum. ;)

Simone100

9:59 pm on Sep 22, 2006 (gmt 0)

10+ Year Member



Hi! Thats why I didn't want to ask you any more
questions. You must study a lot of perl. Thought
I'd ask someone new a new question since you
already helped me. You'll probaby bump into me
again!

perl_diver

11:39 pm on Sep 22, 2006 (gmt 0)

10+ Year Member



I don't mind helping you. You'll probably bump into me too. ;)

Simone100

5:14 am on Sep 23, 2006 (gmt 0)

10+ Year Member



Back at you!~ ;)