Perl + MVC-Konzept


kaehaehae

Grünschnabel
Hallo, ich habe nun schon länger im Netz und auch hier gesucht, aber leider nicht gefunden, was ich suche:
Ein Tutorial oder ein Beispiel für Perl, in dem ein Programm erstellt wird (in etwa zum Berechnen des Volumen eines Aquariums oder des BMIs).
Da ich im Abi Informatik als 5. Prüfungsfach gewählt habe und dort eine Präsentation halten muss, schlug mir mein Lehrer vor, Unterschiede zwischen Perl und Delphi anhand eines Programmes zu zeigen, wie ich es oben nannte.
Könnte mir vllt. jemand ne Seite empfehlen oder vielleicht sogar ein Programm zur Verfügung stellen, an dem ich mir das ganze einmal genauer anschauen kann? In nem Jahr ist es nämlich soweit und da wollt ich jetzt schonmal schauen, ob ich da genug beisammen bekomme.
Achja und da ich Perl kaum bzw. gar nicht kenne, wär es lieb, wenn ihr mir auch noch sagen könntet, was für eine Version und welche Addons ich dafür benötige oder am besten benutze.
MfG
Kae
 

KD3

Erfahrenes Mitglied
BMI in Perl (auf die schnelle xD)

Perl:
#!/usr/bin/perl -w

use strict;

# Usage: bmi.pl [groesse_in_m] [gewicht]

if(@ARGV < 2) { print "Usage: $0 [groesse in m] [gewicht]\nExample: $0 1.91 91" ;exit;}

printf("%0.1f",$ARGV[1]/($ARGV[0]*$ARGV[0]));

exit;
Da gibt es sehr starke Unterschiede. Der allergrößte Unterschied ist, dass in Perl sehr viel Regex benutzt wird und typecastings vom interpreter oder compiler selbst entschieden werden denk ich mal :) Mehr fällt mir gerade nicht ein. Perl und bspw. PHP sind nicht so sehr verschieden. Beides sind unsichere Sprachen. Von Delphi hab ich wirklich keine Ahnung, weil ich mich niemals damit befasst habe. Aber eins ist wohl sicher. Delphi ist denk ich mal keine Web und "normale Programmiersprache" aber Perl ist beides ab der Version 5.8.X wegen dem Feature 'Executable Files'. In Perl ist es möglich Web Applikationen laufen zu lassen was man aber von Delphi nicht sagen kann.
Vielleicht werden auch noch andere was hinzufügen ;)
Gegenüber Perl ist aber Bash in den internen Prozessen schneller (nur so mal zur Info ;))
MfG
KD3
 

renee

Erfahrenes Mitglied
Da gibt es sehr starke Unterschiede. Der allergrößte Unterschied ist, dass in Perl sehr viel Regex benutzt wird
Nicht unbedingt. Viele meiner Programme haben nur ganz wenige Reguläre Ausdrücke...

[...] Perl und bspw. PHP sind nicht so sehr verschieden.
Zwischen den Sprachen gibt es einige Unterschiede - auch wenn PHP als Modul von Perl gestartet wurde...
Beides sind unsichere Sprachen.
? Was meinst Du damit

[...] Delphi ist denk ich mal keine Web und "normale Programmiersprache" aber Perl ist beides ab der Version 5.8.X wegen dem Feature 'Executable Files'.
? Man kann Perl schon seit Ewigkeiten (schon *vor* 5.8.x) sowohl für das Web als auch im Konsolen- und GUI-Bereich einsetzen. Was meinst Du mit "Feature 'Executable Files'"?

[...]Gegenüber Perl ist aber Bash in den internen Prozessen schneller (nur so mal zur Info ;))
MfG
KD3
Viele Sprachen sind schneller als Perl (z.B. C/C++), aber das ist ja nicht immer der ausschlaggebende Punkt. Man muss vor der Umsetzung eines Projektes immer abwägen welches Tool das Beste ist. Das hat verschiedene Einflüsse wie "Wie gut kennen/können die Projektmitarbeiter eine Programmiersprache?" "Ist die Programmiersprache für die Aufgabe geeignet?" und vieles vieles mehr.
 

KD3

Erfahrenes Mitglied
Mit beides sind unsichere Sprachen meinte ich eigentlich, dass man um die Formatierung "eigentlich" nicht so sehr sorgen muss, obwohl es in der Programmierung wichtig ist. Typecastings werden selber vom Interpreter gemacht.

Ich kann mich noch erinnern, dass es wirklich mal im Perl Package Manager mal ein Paket bzw. Modul gab das 'Executable Files' hieß. Nunja das Feature gibt es wohl noch, aber entweder es wurde umbenannt von ActiveState oder es ist nicht mehr ein Grundbestandteil von Perl und ist nur noch optional von einer Seite downloadbar. (http://www.indigostar.com/perl2exe.htm#Download)

Viele Sprachen sind schneller als Perl (z.B. C/C++), aber das ist ja nicht immer der ausschlaggebende Punkt. Man muss vor der Umsetzung eines Projektes immer abwägen welches Tool das Beste ist. Das hat verschiedene Einflüsse wie "Wie gut kennen/können die Projektmitarbeiter eine Programmiersprache?" "Ist die Programmiersprache für die Aufgabe geeignet?" und vieles vieles mehr.
C/C++ FTW! ;)

Ich denke mal das die meisten Unternehmen schon in den Voraussetzungen erwähnen, was das Unternehmen von dem Bewerber erwartet und damit ist sicherlich nicht das Zeugnis gemeint ;) Wegen der Leichtigkeit in der Programmierung in PHP würden viele die Programmiersprache eher bevorzugen als Perl. Aber natürlich sind deine fragen gut gestellt. Ich stelle mal eine These auf: PHP6 ist draußen und ist bei 90% aller Firmen sehr gut in den Performanceverhältnissen und im Bereich Security angekommen. Würde dann ein Chef einer Firma die vielleicht schon seit sehr vielen Jahren sich mit Perl befasst haben, dann nur noch auf PHP setzen? Wohl eher nicht (ok, diese These ist auch eher schwach da heutzutage kaum ein Unternehmen alles auf eine Karte setzen würde).

Man sieht also, dass man deine Frage "Ist die Programmiersprache für die Aufgabe geeignet?" auch ganz anders sehen kann ;)

MfG
KD3
 

renee

Erfahrenes Mitglied
Mit beides sind unsichere Sprachen meinte ich eigentlich, dass man um die Formatierung "eigentlich" nicht so sehr sorgen muss, obwohl es in der Programmierung wichtig ist. Typecastings werden selber vom Interpreter gemacht.
Ach so...

Ich kann mich noch erinnern, dass es wirklich mal im Perl Package Manager mal ein Paket bzw. Modul gab das 'Executable Files' hieß. Nunja das Feature gibt es wohl noch, aber entweder es wurde umbenannt von ActiveState oder es ist nicht mehr ein Grundbestandteil von Perl und ist nur noch optional von einer Seite downloadbar. (http://www.indigostar.com/perl2exe.htm#Download)
Es gab mal perlcc direkt mit Perl dazu, da das aber sehr Fehlerhaft war, wurde das rausgeschmissen. Neben perl2exe gibt es noch weitere Tools, die aus Perl-Programmen .exe machen können:

* PerlApp
* PAR
* Cava

Die Ergebnisse sind ziemlich gut... PAR zu installieren kann aber etwas tricky sein.

Man sieht also, dass man deine Frage "Ist die Programmiersprache für die Aufgabe geeignet?" auch ganz anders sehen kann ;)

MfG
KD3
Naja, ein Echtzeit-Programm oder etwas mit 3D-Grafiken würde ich jetzt eher nicht in Perl programmieren - auch wenn meine Leute gut Perl kennen. Da würde ich dann eher neue Ressourcen holen. Genauso wie ich für eine Webanwendung kein Assembler oder so etwas nehmen würde. Man muss nicht auf Biegen und Brechen alles mit "der einen" Programmiersprache machen (welche auch immer das ist).