Genau das ist meine Frage, wie veranlasse ich den Webserver, dass er mir eine HMTL Datei zurückschickt?
Ganz so funktioniert es nicht. Du forderst via http ja nicht eine Datei eines bestimmten *Typs* an. Der Browser fordert vielmehr eine *URL* an und erhält ein Paket, bestehend aus
- einem http-Header mit der Formatbeschreibung des Dokuments (z. B. "Content-type: text/html\n\n") und
- dem Dokument selbst.
Der Browser muß damit fertig werden - er müßte auch mit einem anderen Format (beispielsweise text/plain) fertig werden. Was der Server anbieten kann, ist seine Sache - und nicht die des Browsers.
An dieser Stelle könnte man höchstens einen Exkurs zum Thema "Content negotiation" starten - da habe ich einen Artikel für SELFAKTUELL in der Schublade ...
Ich starte irgend eine irgenein.pl auf dem Server, dieses Script macht mir irgendwelche Aktionen und als Abschluss der Aktionen soll dem Browser, der das Script gestartet hat, eine HTML Datei gesendet werden.
Auch hier wieder: Die Reihenfolge der Initiativen ist eine andere. Nicht "Du" startest das Perl-Skript, sondern der Webserver tut es, *nachdem* Du eine URL angefordert hast und der Webserver schon weiß, wohin er das von ihm aufgesammelte "stdout" weiterschicken muß.
Dein Browser kommuniziert mit dem http-Protokoll - auf der anderen Seite muß ein Partner vorhanden sein, der dasselbe Protokoll behandelt.
Du kannst Dir natürlich ein Perl-Skript schreiben, welches sich im Wesentlichen wie ein Webserver verhält (ich würde allerdings davon abraten, obwohl es wohl vordefinierte Perl-Objekte für so etwas gibt), aber um die Kommunikationsschiene mußt Du Dich dann auch noch kümmern (also Deiner TCP/IP-Konfiguration klar machen, daß bei einem Anruf auf Port XY Dein Perl-Programm gestartet werden soll usw.).
Wie lauten die Perl-Befehlszeilen für das Senden einer kompletten HTML-Datei??
Die Frage läßt sich m. E. so gar nicht beantworten, zumal es in Perl beliebig viele Methoden gibt, HTML-tags zu generieren (eigene Objektklassen usw.).
Im Wesentlichen gibst Du einfach den Inhalt des Dokuments mit "print" nach stdout aus.
Davor muß lediglich noch der http-Header gesendet werden; dieser besteht aus der oben erwähnten Zeile "Content-type: text/html" und einer nachfolgenden Leerzeile.
Ich kann Deinen Fragen nicht so recht entnehmen, wieviele Grundlagen Du bereits beherrschst ...