PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zum Compilieren (von Perl)



22-06-2000, 14:10
Hi Leuts,
Ich hab Corel Linux installiert... wie kann ich damit jetzt perl programme Compilieren? ich hab eins programmiert, die endung .pl rangehangen und in die erste zeile den pfad zu perl geschrieben... aber wie benutze ich das jetzt? immer wenn ich 2 mal raufklicke, startet der kurz diese konsole, und schließt sie dann sofort wieder. Da waren auch ein paar beispielprogramme... bei denen hat er garnichts gemacht, und hat mich sogar noch
gefragt, mit welchem programm er das öffnen soll... also geb ich usr/bin/perl ein, und wieder öffnet sich die konsole und verschwindet sofort wieder Außerdem scheinen die dort dateiendungen nicht zu kennen... überalle sieht man nur dateinamen, und als ich dann eine in windows kopiert hab, war auch keine endung dran...
naja, pls helft mir...
bye

22-06-2000, 15:43
hmm... im Handbuch steht, das der sich den Interpreten von allein suchen sollte... bei mir aber net. Entweder er läd es in den Texteditor, startet die besagte konsole (wenn ich es mit usr/bin/perl öffne) oder tut garnichts (ebend vorgekommen). Kann es sein das ich was falsch mache? Der Quellcode ist auch total simpel...

#!/usr/bin/perl -w
print ("Hallo Welt!\n") ;

Warum zur Hölle funktioniert das nicht? http://www.linuxforen.de/ubb/frown.gif
bye

Manfred-B
22-06-2000, 19:33
Hallo Smurfer
vermutlich startest Du Dein Perlskript mit Klick auf die Datei in kfm

2 möglichkeiten:

1. Das prog wird ausgeführt doch die ausgabe "hallo welt" ist auf dem fenster nach programmende schneller wieder verschwunden wie Du sehen kannst. Starte es durch eingabe des namens der Skriptdatei auf einer virtuellen Konsole (ist sowieso besser) oder häng mal noch die Zeile: "sleep(10);" an Dein Skript dran

2. Oder es wird nicht ausgeführt weil das Ausführungsrecht nicht gesetzt
ist; setz es mit kfm rechtsklick -> eigenschaften ...

falls Du ein Skript von Windoofs kopiert hast geht das nicht weil am ende jeder Zeile ein CR/LF Zeichen ist

Die Dateiendung .pl ist in Linux unwichtig!

Gruß
Manfred

23-06-2000, 00:50
Oui

Und vielleicht noch eine kleine Ergänzung: Bei Linux ist der Doppelklick zum Öffnen von files (progs) nicht eingerichtet. Der einfache Klick ist dem "öffnen mit..." vorbehalten. Progs werden aber direkt als maschinencode gelesen, Scripten von der Shell (Bash).

Das Signal, den Perl-Interpreter aufzurufen, geht von der ersten Zeile im Script aus: #!/usr/bin/perl [-Option]. Der Name einer ausführbaren Datei wird der Kommandozeile übergeben. Liegt die Datei nicht im Suchpfad, muss der komplette Pfad mit angegeben werden.

Du kannst Dir zB ein Verzeichnis für Scripten anlegen. Die Pfadangabe kannst Du entweder in /etc/profile, profile oder global in /etc/ld.so.conf eintragen. Beim nächsten Systemstart wird der Pfad mit eingelessen. Nun brauchst Du nur noch auf der Kommandozeile den Scrip-Namen aufrufen.

Eine andere Möglichkeit ist zB das Anlegen eines Desktop-Icons (zB im KDE). Ohne bekannte Pfadvariable musst Du auch hier den kompletten Pfad eintragen. Wähl die Vergabe der Ausführungsrechte mit aus und kreuz das Feld "In Terminal öffnen" an. Du kannst Dein Wunsch-Terminal (kvt, xterm) eintragen...

Gruss

Bernhard

[Dieser Beitrag wurde von Omega-X am 23. Juni 2000 editiert.]

robert
23-06-2000, 04:01
Hallo!

Also erst mal ein grundsaetzlicher Fehler (???) unter *nix fuer Perl.

Wie schon oben richtig geschrieben, muss in der ersten Zeile der Pfad zum Perl-Interpreter stehen.
Also z.B.
#!/usr/bin/perl

Auf manchen Systemen kann das aber auch
#!/usr/local/bin/perl

sein!

Zum ausfueren des Scriptes zwei Moeglichkeiten:

a) Du startest das Script direkt mit Perl

perl <scriptname>

oder

b) durch direkten Aufruf wie ein ausfuerbares Programm (was in dem Moment ein Script, egal welcher Art, ja auch ist).
Dazu mußt du dem Script die Ausfuerungsrechte geben. Entweder mit chmod 755 scriptname oder chmod a+x scriptname.
Dann kannst du es auch direkt starten.

Gruss

Robert

24-06-2000, 14:26
ok, vielen dank, es funzt jetzt, wenn ich es von der konsole aus starte http://www.linuxforen.de/ubb/wink.gif
bye,
Smurfer

27-06-2000, 21:51
SKL und MDK werden ja doch auch für binaries unterstützt http://www.linuxforen.de/ubb/biggrin.gif . DBK öffnet allerdings zwei Instanzen (zumindest, wenn ein Text-file unter dem Cursor ruht).

Bei mehreren vorangegangenen Versuchen war mir das nie gelungen. Möglicherweise setzt diese Funktion ein konfoguriertes (wenn auch nicht funktionsfähiges) Netzwerk voraus. Vieles im System soll ja von einem konfigurierten Netzwerk abhängen, ohne dass Handbuch hier konkret wird.

Sorry für die falsche Info. Solche Irrtümer sind sicher normal, wenn es so schwierig (gemacht wird) ist, mit einem Kind des Netzes ins Netz zu gelangen http://www.linuxforen.de/ubb/biggrin.gif .

Robert, Deine Fragezeichen waren mehr als berechtigt. Sie liessen mich nicht ruhen, obwohl ich im Background 4 Hände voll zu tun habe. Dank Dir für die Anregung. Erfahrung und Wissen bedeuten Macht, sind also unbezahlbar http://www.linuxforen.de/ubb/biggrin.gif .

Gruss

Bernhard