Hallo! Ich quäle mich gerade durch "Programming Perl" (http://www.amazon.de/dp/0596004923/) ... Die Kapitel 2, 3 und 4 sind echt anstrengend... Was mir nicht in den Kopf will ist die Sache mit der Gültigkeit von Variablen. Ich habe jetzt zig Tutorials gelesen und verstehe überhaupt nichts mehr. my our local state lexical scope dynamic scope HÄ??? Kennt jemand eine gute Seite wo das mit C verglichen wird oder kann es jemand in einfachen Worten erklären? Wozu brauche ich z.B. our wenn doch my genauso funktioniert? Wo ist der Unterschied zwischen lexical und dynamic scope? Und überhaupt warum ist der ganze Kram so kompliziert? mfg, ein durchdrehender Anfänger...
http://de.wikibooks.org/wiki/Perl-Programmierung:_G%C3%BCltigkeitsbereich_von_Variablen also ich verwende immer my und das ist das genauso wie ein C.
Anfänger schrieb: > Und überhaupt warum ist der ganze Kram so kompliziert? Aus historischen Gründen gibt es in Perl zwei verschiedene Ansätze für den Gültigkeitsbereich von Variablennamen. Wie Perl überhaupt eine Sammlung kumulativer Entwicklungen ist. Wenn du eine saubere Sprache ohne solche Fisematentchen willst, dann vermeide Perl.
Hier werden ähnliche Fragen beantwortet: http://perldoc.perl.org/perlfaq7.html A. K. schrieb: > Wenn du eine saubere Sprache ohne solche Fisematentchen willst, dann > vermeide Perl. Vielleicht ist das einer der Gründe, warum Perl so langsam etwas aus der Mode kommt: http://www.tiobe.com/index.php/paperinfo/tpci/Perl.html ;-)
Erstmal Danke für die Antworten. Peter II schrieb: > http://de.wikibooks.org/wiki/Perl-Programmierung:_G%C3%BCltigkeitsbereich_von_Variablen Das kenne ich schon. > also ich verwende immer my und das ist das genauso wie ein C. Ich will es halt einmal richtig verstehen... A. K. schrieb: > Aus historischen Gründen gibt es in Perl zwei verschiedene Ansätze für > den Gültigkeitsbereich von Variablennamen. Wie Perl überhaupt eine > Sammlung kumulativer Entwicklungen ist. Einige Sachen an Perl gefallen mir sehr gut, aber dieser Variablenzirkus will nicht in meinen Kopf. Yalu X. schrieb: > Hier werden ähnliche Fragen beantwortet: > > http://perldoc.perl.org/perlfaq7.html Das hat mir schon mal weitergeholfen. Also aktuell verstehe ich es so: globale Variable (innerhalb der gesamten Datei und aller Funktionen gültig): my außerhalb eines Blocks (lexikal) lokale Variable: my innerhalb eines Blocks (lexikal) einer globalen Variable temporär einen neuen Wert zuweisen: local. Dieser Wert ist in aufgerufenen Funktionen sichtbar! Dies geschieht zur Laufzeit (<--was auch immer das heissen mag). (dynamic) persistente Variable innerhalb eines Blocks: state Stimmt das soweit? Was es mit our auf sich hat habe ich trotz http://perldoc.perl.org/functions/our.html noch nicht wirklich verstanden. :-( to be continued (morgen)...
Anfänger schrieb: > Wo ist der Unterschied zwischen lexical und > dynamic scope? http://de.wikipedia.org/wiki/Variable_%28Programmierung%29#Beispiel_lexikalisch_versus_dynamisch
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.