PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl Script einbinden


snowball
01.02.2006, 16:08
Hallo zusammen,


ich bin neu was die Sprache und das Forum betrifft :)

Versuche mich an einem etwas groesseren Programm und bin gerade dabei mein ausfuehrbares Perl-Script ueber meine GUI (Tk) zum laufen zu bekommen.
Moechte es ueber meine Menu-Bar auswaehlen koennen und ausfuehren.

Mit was koennte ich es denn realisieren???

Koennte mir da mal jemand auf die spruenge helfen??? Haenge gerade tierisch.


Thx im voraus...


Jan Krüger
01.02.2006, 17:00
Einfach wie jedes andere Programm auch ausführen lassen wäre zumindest unter Unix meine bevorzugte Wahl. ;)

Auf anderen Systemen musst du unter Umständen erst den installierten Perl-Interpreter finden und den ausführen, mit dem Pfad zum Script als Parameter.

butterkeks
01.02.2006, 20:42
Wenn du dir das mit dem Pfadsuchen sparen willst, kannst du das script auch in einen Skalar einlesen und mit eval() ausführen (was aber auch nicht hundertprozentig klappen muss; je nachdem).

Ansonsten würde ich mir mal die Variable "$^X" ($EXECUTABLE_NAME) in perlvar(1) ansehen

snowball
06.02.2006, 11:25
hmmm.... okay als erstes mal Danke das ihr so schnell reagiert habt :)

... und jetzt nochmal zu meiner Frage die ich wohl etwas falsch gestellt habe... sorry

Also ich habe meine GUI (Tk) und moechte nun ueber z.B. File -> Open ein Script oeffnen, das ueber eine Datei lauft, um daraus gewisse Werte zu filtern. Wenn ich normal ueber die Kommandozeile mein Script und die zu dursuchende Datei aufrufe (perl blabla.pl test.txt) funktioniert alles und es werden meine "Treffer" schoen in ein neues txt-file gespeichert.
Nun will ich das alles aber schoen ueber eine GUI machen und da stosse ich an meine Grenzen, da fehlt mir der naechste Schritt :mauer:


Wie koennte ich da vorgehen, bzw. was sollte ich verwenden???



Thx und sorry nochmal fuer die vorige unklarheit... thx

Jan Krüger
06.02.2006, 13:26
Was ist denn das für eine ominöse GUI?

snowball
06.02.2006, 14:08
Wieso ominoes???

Pharao
06.02.2006, 14:36
um Perlscripts auszuführen hast du mehrere Möglichkeiten.
Soch mal nach exec, system, do usw.
Sysadm::install könnte auch hilfreich sein (IIRC)
eine andere Möglichkeit ist es das Script zu öffnen und die Ausgabe per Pipe zu lesen.

Jan Krüger
06.02.2006, 19:28
Weil du kein Wort darüber verloren hast, was du mit GUI meinst (sprich, ist das etwas, was du programmierst und aus dem du ein Perl-Script aufrufen willst? Ist die GUI in Perl geschrieben? Willst du nur aus einem fertigen Programm heraus ein Perl-Script aufrufen?). Außerdem: was funktioniert an den bis jetzt versuchten Ansätzen nicht?

snowball
07.02.2006, 14:46
Hallo nochmal,

also mit der GUI meine ich eine graphische Oberflaeche, die ich selber in Perl zusammengebastellt habe (mit Tk)
Mit hilfe dieser graphischen Oberflaeche moechte ich nun ein anderes Perl script aufrufen(bzw. aussuchen, da es auch ein anderes Perl Script sein kann) was dann wiederum eine andere Datei durchsucht und mir dann die Treffer in eine neue Datei abspeichert.
Es funktioniert schon alles seperat.
Sprich meine graphische Oberflaeche mit Textfeld funktioniert soweit (Datei oeffnen, schliessen, speicher usw.)
Das andere Perl-Script funktioniert auch.
Sprich wenn ich es ueber die Kommandozeile aufrufe und ihm dann auch die zu dursuchende Datei mitgebe, speichert mir er die Ergebnisse schoen in einer neuen Datei ab.

Wo es bei mir jetzt haengt, ist das ich nicht so recht weis wo ich exec, do oder so richtig einbauen soll, damit ich dann einfach ueber die Oberflaeche meine Scripte ueber meine Dateien laufen lassen kann.


Hoffe ich habe es jetzt besser erklaert. Sorry nochmal das soviele Anlaeufe noetig waren und danke fuer die zahlreichen Antworten die immer so schnell kamen :)


Thx

eViL_oNe
07.02.2006, 17:36
warum baust du den Aufruf des Perl-Skriptes nicht einfach direkt ein? Nicht dass ein Aufruf per system, eval usw. nicht gehen würde, nur sehe ich hier keinen Bedarf für so was.

butterkeks
07.02.2006, 20:57
Wo es bei mir jetzt haengt, ist das ich nicht so recht weis wo ich exec, do oder so richtig einbauen soll, damit ich dann einfach ueber die Oberflaeche meine Scripte ueber meine Dateien laufen lassen kann.


In die Routine, die sich um deine Menüs kümmert, denke ich mal...
Genauer kann ich dir das nicht sagen, weil ich dein Programm ja nicht kenne

stinkstiefel
02.04.2006, 22:30
Moechte es ueber meine Menu-Bar auswaehlen koennen und ausfuehren.Wenn du mal zeigen würdest wie deine Menübar aufgebaut ist müsste hier nicht so gerätselt werden.