![ein Kapitel weiter](../weiter.gif)
Anders herum ist es in Perl ebenso möglich mit open() Programme
von der Standardeingabe zu füllen.
Das Prinzip ist das selbe wie schon im Kapitel zuvor, nur
das die Pipe am Anfang des Strings zu stehen hat......
open(FH, "| programmname > $outfile") or die ".......";
Die eignet sich zum Beispiel hervorragend um aus einem Programm heraus
mittels sendmail ein Mail zuverschicken....
#!/usr/bin/perl -w
open(WHERE, "which sendmail |") or die "Kein sendmail.......\n";
chomp($sendmail = <WHERE>);
close(WHERE);
$to = "root\@localhost.localdomain\n"; #Bitte anpassen
open(MAIL, "| $sendmail -oi -t $to")
or die "Can't open pipe to $sendmail: $!\n";
print MAIL "From: Bill.Gates\@microsoft.com\n";
print MAIL "Subject: Hallo Pinguin\n\n";
print MAIL "Dies stellt den Inhalt der Mail da\n";
close(MAIL) or die "Can't close pipe to $sendmail: $!\n";
print "Die Mail wurde erfolgreich verschickt\n";
Und schon haben sie eine Fake-Mail verschickt. Das Programm funktioniert
natürlich nur wenn sich auf Ihrem Rechner sendmail befindet und dies
Konfiguriert ist. Und viele werden bei diesem Beispiel an CGI-Programmierung
denken. Und dabei haben sie recht. Diese Beispiel werden wir später bei
der CGI-Programmierung, zum Verschicken einer Formmail verwenden.
![ein Kapitel weiter](../weiter.gif)
© 2001,2002 Jürgen Wolf
|