perlのカッコは本当に分かりづらい。
特に、配列、ハッシュ、リファレンス、デリファレンス、無名配列、無名ハッシュの作成については、よく混同する。
そのため、以下の通り、自分用にチートシートにまとめた。
(かなり適当だけどw)
●配列の作り方
・定義
my @num = (1,2,3・・・・);
・配列のへのアクセス
$num[2]
・配列への代入
$num[1] = 100;
●ハッシュの作り方
・定義
my %num = (time => 10, english=> 100, math => 500);
・ハッシュへの代入
$num{science} = 100;
・ハッシュへのアクセス
$num{time}
・ハッシュキーの取得
my @subject = keys %num;
(sortしたいとき) my @subject = sort keys %num;
●リファレンス
・スカラー変数の場合
my $message_re = ¥$message;
・配列の場合
my $nums_ref = ¥@nums;
・ハッシュの場合
my $score_ref = ¥%score;
・二次元配列の作成例
my @nums1;
my @nums2;
my @array_of_array = (¥@nums1 , ¥@nums2);
●デリファレンス
・スカラ変数
${$nums_ref} or $$nums_ref
・配列
-デリファレンス
@{$nums_ref} or @$nums_ref
-一つの要素へのアクセス
${$nums_ref}[0]; or $nums_ref->[0];
・ハッシュ
-デリファレンス
%{$nums_ref} or %$nums_ref
-一つの要素へのアクセス
${$scores_ref}{english}; or $scores_ref -> {english};
●無名配列
my $nums = [1,2,3];
●無名ハッシュ
my $scores = {math => 90, english => 100};
Leave a Reply