Schrift
[thread]8906[/thread]

Perl-Anfänger möchte fremdes Script verstehen...: Syntax unklar bitte um Hilfe

Leser: 1


<< >> 9 Einträge, 1 Seite
Gast Gast
 2007-04-05 18:52
#75700 #75700
Hallo Perl-Gemeinde !
Ich bin gerade dabei mich in Perl hineinzuarbeiten. Bin nicht ganz "Programmierfremd" programmiere z.B. sehr gerne in C.
Nun habe ich ein ähnliches Projekt wie auf www.linux-magazin.de/heft_abo/ausgaben/2006/03/ist_das_nicht_cool
beschrieben vor. Habe mich schon durch einige Tutorials gewühlt und verstehe leider immer noch nicht ganz was der gute Mensch da anstellt.
Weiter unten auf der Seite finden sich die Scripts um die es sich dreht. Würde sehr gerne verstehen wie das dort gelöst wurde, es mangelt mir jedoch an Perl Kenntnissen.
Nehmen wir z.B. diesen kleinen Abschnitt aus dem Ersten:
14 my $self = {
15 type =&gt; "DS18S20",
16 };
Also es ist mir klar das es eine Zuweisung auf eine Variable ist, allerdings
verstehe ich nicht was $self nun genau zugewiesen wird.
Besonders häufig kommt z.B. das konstrukt =&gt (eher in den unteren beiden Scripts) vor. Soweit ich mich informiert habe ist es ein binäres UND sowie der "grater than" Vergleichsoperator, kann das aber irgendwie nicht in Zusammenhang bringen.
Wäre nett wenn jemand meine Verwirrtheit etwas aufklären kann.
Hoffe wenn ich das verstanden hab kann ich schon wieder ein bischen mehr Ableiten.
bye, Kev

PS: Ah, sorry ich darf keine links Posten müsst ihr leider copy&pasten, melde mich später mal an...
vayu
 2007-04-05 19:03
#75701 #75701
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
du bist einfach auf den html code für > reingefallen -.-

das soll einfach heissen:

Code: (dl )
1
2
3
my $self = {
type => "DS18S20"
};


und das ganze ist eine zuweisung in einem Hash.
key => value
PerlProfi
 2007-04-05 20:02
#75702 #75702
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
=> ist ein Ersatz für ein ,(Komma).
In deinem Beispiel wird $self ein anonymer Hash zugewiesen, d.h. in $self steht jetzt eine Referenz, die auf einen Hash zeigt.

Bei Hashdefinitionen benutzt man gerne => anstatt des Kommas, weil es so besser zu lesen/verstehen ist.
Relais
 2007-04-05 20:38
#75703 #75703
User since
2003-08-06
2254 Artikel
ModeratorIn
[Homepage] [default_avatar]
na, und der String, der links vom "fat comma", dem => steht, der muß nicht mehr gequotet werden.

Also steht
type => "DS18S20"
für
"type", "DS18S20"
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
bloonix
 2007-04-05 22:02
#75704 #75704
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
der Variablenname $self wird meistens in OO verwendet um die Hash-
struktur von Mehode zu Methode weiterzureichen. Die Erstellung von
$self findet für gewöhnlich in einer new-Methode statt.

zu &gt; kann ich nur schreiben, dass der autor des Perlcodes wahr-
scheinlich Perl kann, aber weniger von HTML versteht ;)
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Relais
 2007-04-05 22:34
#75705 #75705
User since
2003-08-06
2254 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=opi,05.04.2007, 20:02]zu &gt; kann ich nur schreiben, dass der autor des Perlcodes wahr-
scheinlich Perl kann, aber weniger von HTML versteht ;)[/quote]
Naja, bei CPAN:Embperl ist das korrekte Syntax mit dem &gt; alternativ zu > .
Ist natürlich von hier aus schwer zu sehen, ob es tantsächlich in CPAN:Embperl geschrieben sein sollte.
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
bloonix
 2007-04-06 05:15
#75706 #75706
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Relais,05.04.2007, 20:34][quote=opi,05.04.2007, 20:02]zu &gt; kann ich nur schreiben, dass der autor des Perlcodes wahr-
scheinlich Perl kann, aber weniger von HTML versteht ;)[/quote]
Naja, bei CPAN:Embperl ist das korrekte Syntax mit dem &gt; alternativ zu > .
Ist natürlich von hier aus schwer zu sehen, ob es tantsächlich in CPAN:Embperl geschrieben sein sollte.[/quote]
Hi Relais, schau dir einfach mal den Quelltext an... &gt; mag korrekt sein,
wenn man ein Größer-Zeichen darstellen möchte, aber &amp;gt;
bestimmt nicht :)\n\n

<!--EDIT|opi|1175822203-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Relais
 2007-04-06 13:04
#75707 #75707
User since
2003-08-06
2254 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=opi,06.04.2007, 03:15]aber &amp;gt; bestimmt nicht :)[/quote]
tut mir leid, das kann ich nicht finden... wo ich jetzt dann auch mal in den linuxmag-Quellcode geschaut hab.

Dafür ist damit klar, daß es, wie angenommen, kein CPAN:Embperl ist... aber Hauptsache Werbung gemacht :)
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
kevin_s
 2007-04-11 13:00
#75708 #75708
User since
2007-04-11
1 Artikel
BenutzerIn
[default_avatar]
Entschuldigt für die späte Antwort und Danke für die vielen Antworten, habt mir ein gutes Stück weitergeholfen....
<< >> 9 Einträge, 1 Seite



View all threads created 2007-04-05 18:52.