title image


Smiley perldoc hilft weiter
perldoc.com gibt dir darauf eine Antwort. Du solltest, wenn du vorhast dich länger mit Perl zu beschäftigen, auf jeden Fall mal die Dokumentation lesen. Diese ist zwar sehr umfangreich, aber auch hilf- und lehrreich.



Zu deiner Frage, mit den Klamern {... } weist du einem Wert eine Hash Referenz zu im Prinzip hat es etwa die gleiche Bedeutung wie:



my %hash = (...... );

my $var = \%hash;





Diese ganze Referenz Geschichte ist, gerade am Anfang, das komplizierteste in Perl, kann aber enorm wichtig sein, da du dadurch relativ einfach Datenstrukturen erzeugen kannst, die es so in anderen Programmiersprachen nicht gibt oder zumindest wesentlich komplizierter.



Vor allem Arrays und Hashs können ein Problem sein:



my $arr_ref = [ 1, 2, 3, 4, 5 ];



ist eine Arrayreferenz, mit der du so arbeitest:



foreach ( @{ $arr_ref } ) { print "$_\n"; }



in dem Falle sind die geschweiften Klammern nicht nötig, es geht auch so:



foreach ( @$arr_ref ) { print "$_\n"; }



aber du brauchst sie, wenn du auf ein Array mit Arrayreferenzen zugreifen willst:



my @arr = ();



$arr[0] = [ 1, 2, 3, 4, 5 ];



foreach( @{$arr[0]} )

{

print "$_\n";

}



Mit Hashs geht es genauso, nur dass der Operator den du brauchst die geschweiften Klammern sind:



my %hash = ();

$hash[bla] = { key1 => 1, key2 => 2, key3 => 3};

foreach( keys %{$arr{bla}} )

{

print "$arr{bla}->{$_}\n";

}



Die Perldodcs dazu:

http://perldoc.com/perl5.8.4/pod/perldsc.html

http://perldoc.com/perl5.8.4/pod/perllol.html



wie gesagt es ist am Anfang nicht ganz so einfach, aber wenn du ein bisschen rumprobierst steigst du vielleicht einfacher dahinter wie das funktioniert.


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: