ハッシュ内配列にpushする
いや、分かるのだよ?使うのだよ?でも気持ち悪い、ニヤニヤしてしまう。
#リファレンスメモ #配列 #無名配列を格納(リファレンスの作成) my $arr = []; #無名配列にpush push @{$arr},(1,2,3); #参照値を出力 print $arr,"\t"; print \@{$arr},"\n";#\でリファレンス値。一旦デリファレンスしてもう一度リファレンスに #無名配列の個別要素を出力 print ${$arr}[0],"\t";#書き方1 print $$arr[1],"\t";#書き方2 print $arr->[2],"\n";#矢印構文 #ハッシュ #無名ハッシュを作る。中身はkeyキーに無名配列 my $hash = {key => []}; #$hashをデリファレンスして無名ハッシュの参照値を出力 print %{$hash},"\t"; print %$hash,"\n";#コレでもOK。僕には見にくい #さらにkeyキーの先(無名配列が入ってるはず)の参照値を出力 print ${$hash}{key},"\t";#書き方1 print $$hash{key},"\t";#書き方2 print $hash->{key},"\n";#矢印構文 #keyの無名配列にpushする push @{${$hash}{key}},(1,2); push @{$$hash{key2}},(3,4); push @{$hash->{key3}},(5,6); #key2に格納されている要素を個別に出力してみる print ${${$hash}{key}}[0],"\t"; print ${$hash->{key}}[1],"\t"; #print $$$hash{key2}[0],"\t";#なんだか怒られます print $hash->{key2}->[1],"\n"; #hashの内容を順番に出力してみる for my $hashkey (sort keys %{$hash}){ for my $arrayvalue (@{$hash->{$hashkey}}){ print $arrayvalue,"\t"; } print "\n"; } print "ちょっと気持ち悪いな\n";
使う文には->がわかりやすい。他の構文は読みにくいがなれねばいけないなぁ
型グロブについて今はよく分からん