• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Perl & GUI - geht das?

cero

Guru
Ich habe mal eine (blöde?) Frage ,da ich noch
nichts gescheites gefunden habe:

Mit Python kann ich ja grafische Benutzeroberflächen
erstellen. Geht das mit Perl auch? Bzw. funktioniert das
mit Zusätzen (Bindings, etc.) genauso einfach wie bei
Python?
 

Deepblue

Member
Frag mich Sachen :p

Ich weiss nur, dass Perl neben Basic die grottigste Programmiersprache ist in meinen Augen. Ich mag sie nicht.
Mir ist Python in dem Bereich zB tausendmal lieber
 
OP
C

cero

Guru
@Deepblue
So geht mir das mit Python. Diese Einrückungen finde ich
nicht doll. Es wird von wenigen Sprachen benutzt (mir
ist nur noch Occam bekannt).
Mich nervt es, dass Leerzeichen nicht ignoriert werden, aber
das ist halt geschmackssache. Jeder muss halt seine Sprache finden.
Ich denke Perl ist eine sehr gute Interpretersprache mit der
sich viel realisieren lässt.

Warum ist sie für Dich grottig? Weil man, wie viele sagen, hässlichen
Code produziert? Das kann man auch in C/C++.
Nenne doch mal bitte einige Nachteile von Perl und Vorteile
von Python.
Sonst lässt sich halt sagen: Du magst Python ich halt Perl - OK?

Mit TK kann man übrigens grafische Oberflächen in Perl realisieren,
genau wie bei Python.
 

Deepblue

Member
Sagen wir so, das ist einfach Geschmackssache. Ich hab mir Perl ein paar Stunden angesehn, dann Python (es ging damals um ein Softwaremodul das via Webbrowser administiert werden soll) und ich bin letztlich bei Python hängen geblieben, weil für mich einfach "intuitiver" zu erlernen war. Bersonders als Autodidakt ist für mich halt sowas wichtig :)

Aber wie gesagt, da lässt sich drüber streiten. Genauso wie über das Thema Intel vs AMD, Windows vs Linux, oder Schlake vs FCB :p
 

Deepblue

Member
Ja danke dir auch :) Bin grade erst aufgestanden von ner schwierigen Nachtschicht *gähn*
Naja was heisst schwierig, ich hab meinen Privatpc mitgenommen und meine MP3-Sammlung sortiert :)
 

regexer

Advanced Hacker
Ich gehöre auch zur Perl-Fraktion :wink: . Die wohl verbreiteste GUI-Extension unter perl ist perl/tk. Leider kann ich dir nicht mit praktischen Erfahrungen helfen, aber mit Sicherheit kannst du hierüber eine Menge im Netz finden. Es gibt auch speziell zu dieser GUI eigene Bücher von O'Reilly ...
 
OP
C

cero

Guru
Cool, noch jemand, der diese grottige Sprache mag (*stichel* sorry Deepblue, wenn ich darauf rumreite ;-) )

Ich habe auch schon einiges im Netz gefunden. Ich wollte auch eigentlich nur wissen, ob es möglich ist - Die Frage ist beantwortet.
Dank Dir trotzdem auch Dir Deepblue.
 

Deepblue

Member
Wenn ich jetzt mein WIndows noch auf der Platte hätte, könnte ich dir sogar nochn Haufen Links mit Ebooks zum Thema Perl geben :(
 
OP
C

cero

Guru
Deepblue schrieb:
Wenn ich jetzt mein WIndows noch auf der Platte hätte, könnte ich dir sogar nochn Haufen Links mit Ebooks zum Thema Perl geben :(

:cry: Schade.
Naja, ich kann ja auch googlen :D
Falls Du doch noch etwas finden solltest - immer her damit *freu*
 

regexer

Advanced Hacker
cero schrieb:
Cool, noch jemand, der diese grottige Sprache mag (*stichel* sorry Deepblue, wenn ich darauf rumreite ;-) )
Naja, es scheint mir fast wie bei der religiösen Überzeugung zu sein. Aber wenn du mal ein praktisches Beispiel zum Sticheln brauchst: http://www.linux-club.de/viewtopic.php?t=27808
 
OP
C

cero

Guru
notoxp schrieb:
cero schrieb:
Cool, noch jemand, der diese grottige Sprache mag (*stichel* sorry Deepblue, wenn ich darauf rumreite ;-) )
Naja, es scheint mir fast wie bei der religiösen Überzeugung zu sein. Aber wenn du mal ein praktisches Beispiel zum Sticheln brauchst: http://www.linux-club.de/viewtopic.php?t=27808

Ja, die Probleme mit den Leerzeichen ;-) hihi
 

Deepblue

Member
Ich musste da auch erstmal die ersten 10 Minuten überlegen, wieso mein erstes Pythonprogramm nicht funktioniert.

Aber ich finde die Einrückungen sehr sinnvoll und hilfreich, wer sich an die gängigen Vorgänge beim Erstellen von Programmcode hält, weiss eh, dass Einrückungen das A&O sind. Ok ich gebs ja zu, bei kleinen Scripten würd ich auch nur allzugerne drauf verzichten ;)
 

regexer

Advanced Hacker
Deepblue schrieb:
Aber ich finde die Einrückungen sehr sinnvoll und hilfreich, wer sich an die gängigen Vorgänge beim Erstellen von Programmcode hält, weiss eh, dass Einrückungen das A&O sind. Ok ich gebs ja zu, bei kleinen Scripten würd ich auch nur allzugerne drauf verzichten ;)
Das mit dem Einrücken ist sicher richtig. Übrigens interessiert mich python auch und ich spiele mit dem Gedanken, das entsprechende Wissen aufzubauen. Was ich mich aber frage: Wie macht man das in pyton mit klassischen Einzeilern? Beispiel:
Code:
cat datei.txt | perl -e 'while (<>) { if (irgendwas) { do_something; } print; }' | gzip -f > datei.gz
 

taki

Advanced Hacker
Ich finde Diskussionen, welche Sprache besser ist, ziemlich dumm. Diese Diskussionen sind genauso unfruchtbar wie die Diskussion, ob gnome besser als kde ist, oder ob windows xy besser als linux oder MacOS Y ist.

Es kommt doch immer auf die gestellte Aufgabe an. Je nach dem was man erreichen will ist mal die eine, mal die andere Sprache besser. Noch besser ist, wenn man die Möglichkeit hat, für Teilaufgaben die passende Sprache verwenden zu können.

Python (und Ruby mit korundrum vielleicht sogar noch viel mehr) eignen sich z.B. hervorragend, um vollwertige kde-Applikationen zu erstellen. Ich habe mich an Perl/Tk auch autodidaktisch herangetastet und mir für die Arbeit schon ein par brauchbare Oberflächen mit gebastelt. Python mit Qt hat mir auch besser gefallen, aber damit kann ich eben nur privat etwas anfangen, da mir im Dienst sowohl Python selbst als auch Qt fehlen. Apropos Qt, da will ich gleich mal darauf hinweisen, dass es auch für Perl ein Qt-Bindiging gibt (http://sourceforge.net/projects/perlqt, http://perlqt.sourceforge.net/, http://renormalist.net/cgi-bin/twiki/view/PM/PerlQt).

Perl/Tk ist aber auf vielen Systemen schon mit dem OS installiert worden und eignet sich gut, um administrative Scripte mit einer einfachen GUI zu versehen. Die GUI tut zwar ein bischen im Auge weh, aber wenn ich z.B. hier auf Arbeit eine GUI erstellen will, wo ich auf die installierten Tools keinen Einfluss habe, habe ich leider keine Alternative.).
 

regexer

Advanced Hacker
taki schrieb:
Ich finde Diskussionen, welche Sprache besser ist, ziemlich dumm. Diese Diskussionen sind genauso unfruchtbar wie die Diskussion, ob gnome besser als kde ist, oder ob windows xy besser als linux oder MacOS Y ist.
... oder ob deutsche Autos besser als japanische sind. Natürlich!

Meine Anmerkungen waren eigentlich beschwichtigend gemeint. Deswegen waren sie auch mit einem :wink: gekennzeichnet. In meiner praktischen Arbeit konnte ich bisher sowieso kaum zwischen irgendwelchen OS oder Programmiersprachen wählen. Man muss dann das nehmen, was man hat. Von dieser Warte aus betrachtet ist es sowieso am besten, man kann alles.

Wer in der glücklichen Lage ist, die Sprache völlig frei wählen zu können, der soll seinen Favouriten wählen und nach seiner eigenen Fasson seelig werden.

Die Sache mit dem Einzeiler würde mich ungeachtet dessen trotzdem interessieren...
 
OP
C

cero

Guru
Ich kann mich notoxp nur anschließen. Hier wollte keiner
eine Sprache negativ dastellen - es war alles etwas ironisch gemeint.
Python klingt ganz interessant, wenn da nicht diese Sache mit den Leerzeichen wäre (jaaa, ich nerv :-D ).
Meine Meinung: Eine vergessene Klammer
finde ich einfacher als ein Leerzeichen. Wenn man sich daran gewöhnt hat, ist es bestimmt eine tolle Sache. Ist aber nichts für mich.
Ich sagte ja auch schon: Jeder muß seine Sprache finden.
Schön, daß man wählen kann :)

Edit: @taki Hast Du auch einen guten Link für eine Ruby-Buch,
falls es nicht japanisch ist.
 

TeXpert

Guru
notoxp schrieb:
Was ich mich aber frage: Wie macht man das in pyton mit klassischen Einzeilern? Beispiel:
Code:
cat datei.txt | perl -e 'while (<>) { if (irgendwas) { do_something; } print; }' | gzip -f > datei.gz

hier wirds schon etwas komplizierter :) die Frage hat sich mir noch nie gestellt...

ok, fangen wir mal an :) -> Dein cat liefert mal wieder einen Punkt beim useless-use-of-cat-contest :)
Code:
perl -e 'while (<>) { if (irgendwas) { do_something; } print; }' < datei.txt | gzip -f > datei.gz
oder etwas offensichtlicher
Code:
<datei.txt  perl -e 'while (<>) { if (irgendwas) { do_something; } print; }' | gzip -f > datei.gz
tuts auch 8) SCNR

ansonsten gibts da bei python ein paar Probleme mit den Schleifen (Syntax-Error) die ich mir auf Anhieb nicht erklären kann, hier müsste ich noch mal Manual lesen (jetzt keine Lust :p) aber einzeiler gehen auf jeden Fall, mal sehen, was ich hier für Beispiele rumliegen habe (die sind alle irgendwo aus dem Netz zusammenkopiert)

alles Einzeiler :)
Primzahlen bis 1000:
Code:
python -c 'print filter(None,map(lambda y:y*reduce(lambda x,y:x*y!=0,map(lambda x,y=y:y%x,range(2,int(pow(y,0.5)+1))),1),range(2,1000)))

die ersten Fibonacci-Zahlen:
Code:
python -c 'print map(lambda x,f=lambda x,f:(x<=1) or (f(x-1,f)+f(x-2,f)): f(x,f),range(10))'

Zufallszahl aus Bereich, obergrenze über Shell:
Code:
python -c 'import sys,random; print random.randrange(1,int(sys.argv[1]))' 11111
 

taki

Advanced Hacker
cero schrieb:
Edit: @taki Hast Du auch einen guten Link für eine Ruby-Buch,
falls es nicht japanisch ist.

Zwar kein Buch, aber wie wärs damit?
http://www.linux-club.de/viewtopic.php?p=144784#144784


Um aufs Thema zurückzukommen. Wenn es was ganz einfaches sein soll, kann man auch kdialog verwenden. Das ist nicht so elegant, aber für was schnelles reicht es allemal (hier findet sich ein relativ simples Beispiel http://www.linux-club.de/viewtopic.php?p=149798#149798,
aber zugegeben, wenn das Script fertig ist, setze ich es wohl noch mal völlig neu in Python oder Ruby auf :p ).
 
OP
C

cero

Guru
taki schrieb:
cero schrieb:
Edit: @taki Hast Du auch einen guten Link für eine Ruby-Buch,
falls es nicht japanisch ist.

Zwar kein Buch, aber wie wärs damit?
http://www.linux-club.de/viewtopic.php?p=144784#144784


Um aufs Thema zurückzukommen. Wenn es was ganz einfaches sein soll, kann man auch kdialog verwenden. Das ist nicht so elegant, aber für was schnelles reicht es allemal (hier findet sich ein relativ simples Beispiel http://www.linux-club.de/viewtopic.php?p=149798#149798,
aber zugegeben, wenn das Script fertig ist, setze ich es wohl noch mal völlig neu in Python oder Ruby auf :p ).

Danke für die Links :-D
Eine Frage: Warum willst Du das Script, wenn es fertig ist, neu aufsetzen?
 
Oben