#!/usr/local/bin/perl -w print "Content-type: text/html\n\n"; my $filename = "/home/user/cgi-bin/database.txt"; use CGI; #use strict; my ($query) = new CGI; my $cgi_path = $query->script_name; $cgi_path =~ s/(^.*\\)//; my (%params) = $query->Vars; my ($command) = $params{'command'}; touch() if ($command eq "touch"); addlink() if ($command eq "add"); unless (open FILE, $filename) { nofile(); } my @slurp = ; close (FILE); print< Links

Links Page


Sorry, adding links is not working at the moment. Can anyone tell me why \%params = \$query->Vars; causes the script to stop?

Add Link


Name
Url

END my $flag=0; my ($label, $i, @group, $line, $labeltmp); foreach $line (@slurp) { if ($line =~ m/(\#label)(\s+)(.*)/g) { $labeltmp=$3; if ($flag == 1) { print "

".$label."

\n


"; undef(@group); } $i=0; $label=$labeltmp; $flag=1; } else { $i++; $group[$i]=$line; } } print "

".$label."

\n


"; print< END exit; sub nofile { print<Fatal Error! Can't read \'$filename\'
Click here to create it END exit(0); } sub touch { unless (open FILE, ">$filename") { errorpage("Help! Can't touch file"); } print FILE "#label Computers\n"; print FILE "site url\n"; close (FILE); } sub addlink { unless (open FILE, ">>$filename") { errorpage("Help! Can't open database for appending"); } errorpage("You must fill in both fields!") if (($params{'name'} eq "") || ($params{'url'} eq "")); print FILE $params{'name'}." ".$params{'url'}."\n"; close (FILE); print<Return END exit; } sub errorpage { print "Fatal Error!\n"; print @_; print ""; exit(0); }