Hallo Folks,
Bin erst seit einer Woche am Perl-Script programmieren und probiere jetzt langsam die CGI-Scripte aus.
Ich möchte online über den Browser neue Links über Formular hinzufügen!
Zu meiner Frage:
Kann man CGI und Perl vermischen?
werden die Parameter übergeben und wird db.txt aktualisiert?
Habe heute leider keine Möglichkeit dies zu Testen.
Folgendes Formular (voererst) in HTML:
________________________
<FORM name=Formular onsubmit="return chkFormular()" action=../cgi-bin/links.pl method=post>
<PRE>
Name der Adresse : <INPUT size=40 name=URL_NAME>
URL Adresse (www.name.de) : <INPUT size=40 name=URL>
Wähle Quickbar: <INPUT TYPE=RADIO VALUE="ht" NAME="THEMA">HTMLWorld<INPUT TYPE=RADIO VALUE="mw" NAME="THEMA">Movieworld<BR>
Link: <INPUT type="submit" value="hinzufügen"><INPUT type="reset" value="Alles Löschen">
</PRE>
</FORM>
________________________
in Perl/CGI: links.pl
________________________
#!/usr/bin/perl
use CGI;
#zur Fehlerausgabe auf dem Browser
use CGI::Carp qw(fatalsToBrowser);
$q=new CGI;
#Eingaben einlesen
my $u_name=$q->param('URL_NAME');
my $url=$q->param('URL');
my $thema=$q->param('THEMA');
my $inFile = 'db.txt'; # Linksammlung im Format Thema+URL+Name
my $HFile = 'dbh.txt'; # Help-Datei
sub Einfuegen{
flock(FH, LOCK_EX);
open(FHOLD, "< $inFile") or die "Kann $inFile nicht oeffnen!/n";
open(FHNEW, "> $HFile") or die "Kann $HFile nicht oeffnen!/n";
while (<FHOLD>) {
print FHNEW $_;
if(eof(FHOLD)) {
print FHNEW $thema."+".$url."+".$u_name"\n";
}
}
flock(FH, LOCK_UN);
close(FHOLD);
close(FHNEW);
unlink($inFile);
rename($HFile, $inFile) or die "can't rename $HFile to $inFile: $!";
}
&Einfuegen;
________________________________________________
Ein anderer Perl-Script gibt die Links in Form von Quickbar aus,
dabei werden die Quickbars nach Themen sortiert.
Danke auch für die Verbesserungs-Vorschläge,
Gruß Sergej