Supportnet / Forum / Anwendungen(Java,C++...)
Start von Perl-Prog. bei Systemstart/Graphische Schnittstelle
Frage
Hallo
Also, erstmal: Wenn ich nachfolgend von "Perl" spreche, dann meine ich nicht CGI, sondern Perl.
Also:
1.Ich möchte einen Windows Dienst erstellen, der dafür sorgt, dass mein Perl immer bei Systemstart auch gestartet wird. Bei selfHTML fand ich nix.
2. Und unter Unix? Dass der da auch startet? Geht das?
3. Hübsche, graphische Anwendungen mit Perl?
4. Windows-Spezifisch: DLLs?
mfg
TByte
Antwort 1 von Supermax
Zitat:
1.Ich möchte einen Windows Dienst erstellen, der dafür sorgt, dass mein Perl immer bei Systemstart auch gestartet wird. Bei selfHTML fand ich nix.
1.Ich möchte einen Windows Dienst erstellen, der dafür sorgt, dass mein Perl immer bei Systemstart auch gestartet wird. Bei selfHTML fand ich nix.
Was meinst du mit "mein PERL"? Dein Perl-Script? Das müßte gehen, indem du im Autostart-Ordner eine entsprechende Verknüpfung anlegst.
Zitat:
2. Und unter Unix? Dass der da auch startet? Geht das?
2. Und unter Unix? Dass der da auch startet? Geht das?
Du kannst dein Perl-Script entweder über ein SysV-Initscript oder über einen Eintrag in der Datei /etc/init.d/boot.local (kann je nach Distribution auch etwas anders heissen).
Zitat:
3. Hübsche, graphische Anwendungen mit Perl?
3. Hübsche, graphische Anwendungen mit Perl?
Für die meisten GUI-Toolkits unter den diversen Betriebssystemen gibt es auch Bindings für PERL. Einfach mal Google bemühen?
Weitere Infos bekommst du, wenn du deine Anfragen *etwas* ausführlicher fomulierst. Hier im Forum wird meines Wissens nach nicht nach Worten oder Zeichen "abgerechnet", also kannst du ruhig etwas mehr Info in deine Anfragen packen. Die Datenbank packt das schon :D
Antwort 2 von TByte
Erstmal danke, mir fällt ein Stein vom Herzen, dass das überhaupt möglich ist.
Dies würde ich gern automatisieren. Mit Perl Installer-Pakete für Windows, geht das ebenfalls?
Was heißt das im Klartext? Dann google ich auch =)
Zitat:
Autostart-Ordner eine entsprechende Verknüpfung anlegst.
Autostart-Ordner eine entsprechende Verknüpfung anlegst.
Dies würde ich gern automatisieren. Mit Perl Installer-Pakete für Windows, geht das ebenfalls?
Zitat:
GUI-Toolkits unter den diversen Betriebssystemen gibt es auch Bindings
GUI-Toolkits unter den diversen Betriebssystemen gibt es auch Bindings
Was heißt das im Klartext? Dann google ich auch =)
Antwort 3 von Supermax
Antwort 4 von TByte
Das klingt zwar einbisschen doof, aber:
Soll ich nach EXE suchen, oder nach welchem Begriff?
Auf jeden Fall, vielen Dank!
mfg
TByte
Soll ich nach EXE suchen, oder nach welchem Begriff?
Auf jeden Fall, vielen Dank!
mfg
TByte
Antwort 5 von TByte
Ich ins nochmal:
Also, mit Wikis konnt ich noch nie so richtig umgehen. Nach welchem Schema soll ich denn eigentlich suchen?
mfg
TByte
PS.Meine Frage wurde noch nicht beantwortet: Kann man mit Perl denn überhaupt EXEs schreiben oder nicht? Was für nen Compiler braucht man? Was überhaupt?
Also, mit Wikis konnt ich noch nie so richtig umgehen. Nach welchem Schema soll ich denn eigentlich suchen?
mfg
TByte
PS.Meine Frage wurde noch nicht beantwortet: Kann man mit Perl denn überhaupt EXEs schreiben oder nicht? Was für nen Compiler braucht man? Was überhaupt?
Antwort 6 von Supermax
Perl ist prinzipiell eine interpretierte Sprache, d.h. der Interpreter wird mit dem Namen des Scripts als Parameter aufgerufen, wandelt das Script in einen internen Code (bytecode) um und führt diesen aus.
Aktuelle Perl-Versionen unter Linux verfügen über einen Compiler, der Perl-interpreter und Script in eine ausführbare Datei packen; unter Windows ist mir allerdings nichts dergleichen bekannt. Suche mal nach den Stichworten "perl compiler".
Aktuelle Perl-Versionen unter Linux verfügen über einen Compiler, der Perl-interpreter und Script in eine ausführbare Datei packen; unter Windows ist mir allerdings nichts dergleichen bekannt. Suche mal nach den Stichworten "perl compiler".
Antwort 7 von Heidi.
Zitat:
2. Und unter Unix?
wenn ich alles glaube aber nicht das du dir unix gekauft hast2. Und unter Unix?
Antwort 8 von TByte
Da haste recht :D
Aber naja, ich hab n bissl gegooglt und rausgefunden, dass das mit perlcc gehen soll. Leider gibs bei mir nicht solch einen Befehl! Weiss jemand woran das liegt?
mfg
TByte
Aber naja, ich hab n bissl gegooglt und rausgefunden, dass das mit perlcc gehen soll. Leider gibs bei mir nicht solch einen Befehl! Weiss jemand woran das liegt?
mfg
TByte
Antwort 9 von Supermax
Welche Distribution von perl verwendest du denn, also von welcher Seite hast du den Installer heruntergeladen?
Nicht alle Distributionen enthalten perlcc.
Nicht alle Distributionen enthalten perlcc.
Antwort 10 von Supermax
Zitat:
Nicht alle Distributionen enthalten perlcc.
Nicht alle Distributionen enthalten perlcc.
Mit Distributionen meine ich Perl-Distributionen, nicht Linux-Distr.!
Antwort 11 von TByte
ActivePerl von ActiveState.
Nicht Enterorise, normal
mfg
TByte
Nicht Enterorise, normal
mfg
TByte
Antwort 12 von TByte
Noch jemand da?
Antwort 13 von TByte
bitte, es ist mir sehr wichtig
Antwort 14 von Supermax
Da kann ich dir leider nicht weiterhelfen; PERL ist für die Erstellung von Windows-Applikationen oder Diensten nun auch sicher nicht die erste Wahl.
Antwort 15 von TByte
Also wenn man irgendwelche visuellen C-Sprachen nutzen würde (Ich will deshalb auch nicht weiter drauf eingehn), dann wär das viel zu umständlich! Ich will ja nur so ein kleinen Wecker programmieren, der beim Systemstart anfängt zu laufen und mich dann weckt, oder eben, wenn der PC aus ist (was bei mir selten vorkommt=)), der den PC 5 min vorher hochfährt und dann loslegt! Also für C# oder so wär das viel zu umständlich!Deshalb wollt ich das.
Also, wär für weitere Hilfe dankbar.
mfg
TByte
Also, wär für weitere Hilfe dankbar.
mfg
TByte
Antwort 16 von Supermax
Also ein Programm wie du es hier beschrieben hast kannst du mit einer der "Express" Editionen von Visual Studio in einer halben Stunden zusammenklopfen, dann einfach die fertige .exe in den Autostartordner schieben (bzw. eine Verknüpfung davon) und fertig. Sicherlich schneller und einfacher als das rumgefrickel mit PERL.
Antwort 17 von TByte
Echt? kosten die was?
Antwort 18 von TByte
Sorry, habs gefunden und hat sich erledigt.
mfg
TByte
mfg
TByte
Antwort 19 von TByte
Achja, hab vergessn danke zu sagen ^^
Also: Danke!
Aber noch ne Frage:
Man sieht ja wie bei www.anjo.to, dass man Youtube Videos downloaden kann, die aber dabei auch gleich konvertieren kann. Die machen das mit PHP, also muss das konvertieren doch auch mit Perl gehn, oder?
mfg
TByte
Also: Danke!
Aber noch ne Frage:
Man sieht ja wie bei www.anjo.to, dass man Youtube Videos downloaden kann, die aber dabei auch gleich konvertieren kann. Die machen das mit PHP, also muss das konvertieren doch auch mit Perl gehn, oder?
mfg
TByte
Antwort 20 von Supermax
Fürs Konvertieren wird meistens ein externes Programm verwendet, z.B. "ffmpeg". Externe Programme auf dem Server lassen sich sowohl in PHP als auch in PERL aufrufen, wenn die Berechtigungen entsprechend gesetzt sind.
Antwort 21 von TByte
also kann man doch in Perl konvertieren!
Nur wie macht man das?
Nur wie macht man das?
Antwort 22 von Jaja
Zitat:
Nur wie macht man das?
Nur wie macht man das?
da musst du nur herausfinden, wie man mit perl programm aufruft und ihnen parameter übergibt.
Antwort 23 von Jaja
hab mal nachgeguckt:
würde wohl reichen.
1. statt "..." musst du dort natürlich die richtigen optionen angeben.
2. ffmpeg oder ein anderer encoder muss natürlich installiert sein und im suchpfad von perl liegen bzw. systemweit verfügbar sein ($PATH)
3. in der variable $output würde jetzt das ergebns der operation stehen - in diesem falle die fehlermeldungen von ffmpeg oder wenn du bei den optionen das so hingebogen hast das fertige video.
$output = `ffmpeg ...`;
würde wohl reichen.
1. statt "..." musst du dort natürlich die richtigen optionen angeben.
2. ffmpeg oder ein anderer encoder muss natürlich installiert sein und im suchpfad von perl liegen bzw. systemweit verfügbar sein ($PATH)
3. in der variable $output würde jetzt das ergebns der operation stehen - in diesem falle die fehlermeldungen von ffmpeg oder wenn du bei den optionen das so hingebogen hast das fertige video.
Antwort 24 von TByte
Zitat:
Fürs Konvertieren wird meistens ein externes Programm verwendet, z.B. "ffmpeg". Externe Programme auf dem Server lassen sich sowohl in PHP als auch in PERL aufrufen, wenn die Berechtigungen entsprechend gesetzt sind.
Fürs Konvertieren wird meistens ein externes Programm verwendet, z.B. "ffmpeg". Externe Programme auf dem Server lassen sich sowohl in PHP als auch in PERL aufrufen, wenn die Berechtigungen entsprechend gesetzt sind.
Ich hab das so verstnaden, dass das externe Proggi in Perl geschriebn is. Jetzt war meine Frage, wie ich so ein Perlprogramm (das externe) aufbaun kann.
mfg
TByte
Antwort 25 von Jaja
ok tbyte.
du möchtest also keine proktikable lösung haben sondern philosophieren?
perl ist wie jede andere gebräuchliche programmiersprche "turing vollständig".
->damit kannst du also jedes berechenbare problem darstellen und lösen.
->damit kannst du natürlich einen encoder/decoder/recoder schreiben.
die tatsache, das es KEINEN einzigen perl geschriebenen encoder/decoder/recoder gibt spricht dafür, das perl die wohl mit abstand am schlechtesten dafür geeignete sprache ist.
bei solchen aufgaben, die schnelles abarbeiten von großen binären (bzgl. abgrenzung von strings) daten mengen erfordern, würde ein vernünfiter mensch natürlich zu C greifen - assembler wäre für die kernfunktionen überlegenswert um auch exotische cpu-befehle (oder die der graka) dafür nutzen zu können.
du möchtest also keine proktikable lösung haben sondern philosophieren?
perl ist wie jede andere gebräuchliche programmiersprche "turing vollständig".
->damit kannst du also jedes berechenbare problem darstellen und lösen.
->damit kannst du natürlich einen encoder/decoder/recoder schreiben.
die tatsache, das es KEINEN einzigen perl geschriebenen encoder/decoder/recoder gibt spricht dafür, das perl die wohl mit abstand am schlechtesten dafür geeignete sprache ist.
bei solchen aufgaben, die schnelles abarbeiten von großen binären (bzgl. abgrenzung von strings) daten mengen erfordern, würde ein vernünfiter mensch natürlich zu C greifen - assembler wäre für die kernfunktionen überlegenswert um auch exotische cpu-befehle (oder die der graka) dafür nutzen zu können.
Antwort 26 von TByte
Dachte ja nur, dass der Encoder eben in Perl geschrieben ist...
k, danke
mfg
TByte
k, danke
mfg
TByte
Antwort 27 von Supermax
Perl ist ein großartiges Werkzeug, um mit allen möglichen Arten von (Text)dateien zu hantieren, PERL ist ja auch eine Abkürzung für "Practical Extraction and Report Language".
Für sehr rechenintensive oder zeitkritische Anwendungen ist PERL allerdings kaum geeignet, da gibt es bessere Alternativen.
Die meisten Sprachen bieten die Möglichkeit, externe Programme zu starten und diese wahlweise im Hintergrund arbeiten zu lassen oder auf die Ausgabe des externen Programms zu waren. Dabei ist es völlig egal, in welcher Sprache das externe Programm geschrieben ist, das kann eine .exe ebenso sein wie ein Shell-Script oder eben auch wieder ein PERL-Programm.
ffmpeg z.B. ist fast durchgehend in C/C++ geschrieben, einfach weil die für Video-Decodierung und Encodierung benötigten zahlreichen Rechenoperationen unter PERL nur extrem langsam ausgeführt würden.
Für sehr rechenintensive oder zeitkritische Anwendungen ist PERL allerdings kaum geeignet, da gibt es bessere Alternativen.
Die meisten Sprachen bieten die Möglichkeit, externe Programme zu starten und diese wahlweise im Hintergrund arbeiten zu lassen oder auf die Ausgabe des externen Programms zu waren. Dabei ist es völlig egal, in welcher Sprache das externe Programm geschrieben ist, das kann eine .exe ebenso sein wie ein Shell-Script oder eben auch wieder ein PERL-Programm.
ffmpeg z.B. ist fast durchgehend in C/C++ geschrieben, einfach weil die für Video-Decodierung und Encodierung benötigten zahlreichen Rechenoperationen unter PERL nur extrem langsam ausgeführt würden.
Antwort 28 von TByte
Gibs tutorien dazu?
mfg
TByte
mfg
TByte
Antwort 29 von Jaja
zu was? perl oder ffmpeg?
Antwort 30 von TByte
ffmpeg, ff3gp, ffavi, etc. in C meinte ich.
mfg
TByte
PS.:Hab schon wieder "danke2" vergessen, also danke!!
mfg
TByte
PS.:Hab schon wieder "danke2" vergessen, also danke!!
Antwort 31 von Jaja
sie webseite von ffmpeg bietet mehr als genug dokumentation.
wenn du zu einem praktischen ergebnis kommen möchtest, so hast du ja schon alle zutaten:
1. ffmpeg installieren
2. mit perl ffmpeg wie in meiner antw. 23 beschrieben aufrufen und fertig.
dazu müsstest du jetzt nur in der doku die von dir benötigten parameter für den aufruf heraussuchen.
ffmpeg bietet dir aber (laut doku) auch eine api an, mithilfe derer du mit perl funktionen aus den bibliotheken aufrufen kannst.
dazu müsstest du die doku lesen ;) und bei perl herausfinden, wie du bibliotheksfunktionen (dll) aufrufen kannst. das ist sicher die flexiblere, aber schwierigere lösung.
wenn du wissen möchtest, wie ffmpeg funktioniert hilft dir wiederum die webseite und in letzter konsequenz kannst du dir den quellcode anschauen - ist ja schließlich open source..
mach dir aber bitte keine hoffnungen., das du auch nur einen bruchteil des source verstehen wirst.
wenn du zu einem praktischen ergebnis kommen möchtest, so hast du ja schon alle zutaten:
1. ffmpeg installieren
2. mit perl ffmpeg wie in meiner antw. 23 beschrieben aufrufen und fertig.
dazu müsstest du jetzt nur in der doku die von dir benötigten parameter für den aufruf heraussuchen.
ffmpeg bietet dir aber (laut doku) auch eine api an, mithilfe derer du mit perl funktionen aus den bibliotheken aufrufen kannst.
dazu müsstest du die doku lesen ;) und bei perl herausfinden, wie du bibliotheksfunktionen (dll) aufrufen kannst. das ist sicher die flexiblere, aber schwierigere lösung.
wenn du wissen möchtest, wie ffmpeg funktioniert hilft dir wiederum die webseite und in letzter konsequenz kannst du dir den quellcode anschauen - ist ja schließlich open source..
mach dir aber bitte keine hoffnungen., das du auch nur einen bruchteil des source verstehen wirst.

