Ein paar Hinweise zum Stil:
*) Ich würde immer die
uses am Anfang zusammenhängend hinschreiben.
*) Konstruktoren immer auf die gleiche Art und Weise aufrufen (z.B. immer mit
new Modulname bzw. immer mit
Modulname->new())
*) Für Variablen schreibt man im Allgemeinen nur klein
*) Module fangen im Allgemeinen mit einem Großbuchstaben an:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!c:/perl/bin/perl -w
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use DatumZeit;
use HtmlPrint; # das musst Du auch in der htmlprint.pm abändern und unter HtmlPrint.pm abspeichern
use Dateieinausgabe;
use Textfilter;
use Fcntl ':flock';
$| = 1;
my $cgi = CGI->();
my $dz = DatumZeit->new();
my $html = htmlprint -> new();
my $dat = Dateieinausgabe -> new();
my $t_filter = Textfilter-> new();
my $moment = $dz->Aktuell();
my $username = $cgi->param("betreff");
my $usertext = $cgi->param("text");
my $user = $cgi->param("Xuser");
#.....
#Hier wird ein Neuer eintrag in eine Datei getätigt!
#.....
#Jetzt soll nur noch der Script gestartet werden,
#der dann die seite neu lädt/anzeigt.
#Als Paramter bekommt er den Benutzernammen. ($NName)
system("showpage.pl?$NName");
#do(showpage.pl?$NName);
# Bei do gabs folgende fehlermeldung:
#Bareword "showpage" not allowed while "strict subs" in use
#at C:/....../data/newlog.pl line 89.
#Execution of C:/....../data/newlog.pl aborted due to
#compilation errors.
1;
Bei dem
do hättest Du genauso wie bei
system mit Anführungszeichen arbeiten sollen, dann hätte es gleich geklappt...
Du solltest Dir vielleicht auch mal die Methode
Vars() von
CGI.pm anschauen. Damit brauchst Du nicht für alle Felder eines Formulars die Werte einzeln mit
param abfragen:
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $cgi = CGI->new();
my %params = $cgi->Vars();
print $params{Xuser};
\n\n
<!--EDIT|renee|1149058132-->