#!/usr/bin/perl # nachfolgend zwei wichtige Pragmas, die den Programmierer zu sauberer # Programmierung zwingen, siehe: wiki.perl-community.de/bin/view/Wissensbasis/UseStrict use strict; use warnings; # CGI.pm ist praktisch fuer die Arbeit mit CGI use CGI; # allgemeine Einstellungen - die muessen angepasst werden my $file = './zieldatei.txt'; # erzeuge ein Objekt von CGI, lese die Formulardaten aus und gebe den Header aus my $cgi = CGI->new(); my %params = $cgi->Vars(); print $cgi->header(); if(exists $params{action} and $params{action} eq 'save'){ save_to_file($file,\%params); show_formular(get_date(),'Daten wurden gespeichert'); } else{ my $date = get_date(); show_formular($date); } #------------------------------------------------------------------------------# # Subroutines # #------------------------------------------------------------------------------# ## # Methode zum Speichern der Daten ## sub save_to_file{ my ($file,$params) = @_; my $string = $params->{Date}.": ". $params->{Name}.": ". $params->{Number}.": ". $params->{Units}.": ". $params->{Comments}."\n\n"; open(my $w_fh,'>',$file) or die $!; print $w_fh $string; close $w_fh or die $!; } ## # Methode zum Berechnen des heutingen Tages ## sub get_date{ my ($day,$mon,$year) = (localtime(time))[3..5]; my $date = sprintf("%02d.%02d.%04d",$day,$mon+1,$year+1900); return $date; } ## # Methode zur Ausgabe des Formulars ## sub show_formular{ my ($date,$msg) = @_; print qq~

Formular für Details

 

 

$msg

Datum:

Name:

Nummer:

Anzahl:

Kommentar:

~; }