Thread Mailmodul: Alternative zu Mime::Lite? (24 answers)
Opened by jemand at 2004-06-11 00:26

jemand
 2004-06-13 17:18
#2852 #2852
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
hier ist der ganze dateischreiber so dass der zusammenhang auf jeden fall da ist:
Code: (dl )
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!Perl -w
##zusatz

use CGI::Carp qw(fatalsToBrowser);

$datens = &CGIDlesen;
%dat = &CGIDaufbereiter($datens);
if($dat{func} eq ''){ first(); }
if($dat{func}eq 'writes'){ writes($dat{datei}); }
if($dat{func} eq 'writed'){ writed($dat{datei}, $dat{text}); }

sub first{
printhead('Datenschreiber');
print 'In welche Datei soll geschrieben werden?<form name="form" method="get" action="dateischreiber.cgi"><input name="datei" size="40"><input type="hidden" name="func" value="writes"><input type="submit" value="Senden"></form>';
printfoot();
}

sub writes{
open(DATEI, "<$_[0]");
@zeilen = <DATEI>;
close(DATEI);
printhead('Datenschreiber');
print 'In der Datei "'.$_[0].'" steht folgendes:<br><br>';
my $i = 0;
foreach(@zeilen){
$i++;
my $einz = $_;
print "$einz".'<br>';
}
print '<br><br>Wollen sie etwas schreiben so geben sie es hier ein:<br><br><form name="form" method="get" action="dateischreiber.cgi"><textarea cols="40" rows="10" wrap=virtual name="text"></textarea><br><input type="hidden" name="func" value="writed"><input type="hidden" name="datei" value="'.$_[0].'"><input type="submit" value="Speichern"><input type="reset" value="Löschen"></form>';
printfoot();
}

sub writed{
open(DATS, ">>$_[0]");
print DATS "$_[1]";
close(DATS);
printhead('Datenschreiber');
$_[1] =~ s/\n/<br>/go;
print '<body><h1>Scheiben erfolgreich!</h1>In die Datei "'.$_[0].'" wurde folgendes geschrieben:<br><br>';
print $_[1];
printfoot();
}

sub CGIDlesen
{
local $cgidaten;
if( $ENV{REQUEST_METHOD} eq 'POST')
{
read(STDIN, $cgidaten , $ENV{'CONTENT_LENGHT'});
}
else
{
$cgidaten = $ENV{QUERY_STRING};
}
return $cgidaten;
}

sub printhead
{
local $title = $_[0];
print "Content-type: text/html\n\n";
print '<html>';
print '<head>';
print '<title>';
print $title;
print '</title>';
print '</head>';
}

sub printfoot
{
print '</body>';
print '</html>';
}

sub CGIDaufbereiter
{
local ($cgidatenskalar, $name, $daten);
local @cgidatenliste;
local %cgidatenhash;
if( $_[0] )
{
$cgidatenskalar = $_[0];
@cgidatenliste = split(/[&;]/ , $cgidatenskalar);
foreach $listeneintrag (@cgidatenliste)
{
$listeneintrag =~ s/\+/ /go;
($name, $daten) = split( /=/ , $listeneintrag );
$name =~ s/\%(..)/pack("c",hex($1))/ge;
$daten =~ s/\%(..)/pack("c",hex($1))/ge;
$cgidatenhash{$name} = $daten;
} }
return %cgidatenhash;
}

war gedacht um zeilenumbrüche erst auf dem server zu ersetzen und nochmal zu schauen ob in der datei das richtige steht und eventuell zu verbessern ohne erst hochladen zu müssen
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;

View full thread Mailmodul: Alternative zu Mime::Lite?