sergej: Formulardaten übergeben (CGI+Perl?)

Beitrag lesen

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