Perlのリファレンスを使用する方法
リファレンスはバックスラッシュ(\)を使用するとのことです。
Perlでは多次元配列が使用したい場合はリファレンスを使用します。
- まずは各々の変数を定義
$scalar = "scalar";
@array = ('array0','array1');
%hash = (key1=>'value1', key2=>'value2');
- 上記の変数のリファレンスをスカラ変数に設定する
$scalarref=¥$scalar; $arrayref=¥@array; $hashref=¥%hash;
- リファレンスを元の型に戻す
$scalar_org=$$scalarref; @array_org=@$arrayref; %hash_org=%$hashref;
- 無名配列と無名ハッシュの設定方法
$arrayref = ['array0', 'array1'];
$hashref = {key1=>'value1', key2=>'value2'};
- デリファレンス演算子を使用して値を取り出す
$arrayref->[0]; #array0
$hashref->{key2}; #value2
- ちょっと複雑なデータ構造
@array=(['item0','item1','item2'],
['item3','item4','item5']);
@{array[1]}; #@$arrayref : ['item3','item4','item5']
${array[1]}[2]; #item5
$array[1]->[2]; #item5
$array[1][2]; #item5
- 配列とハッシュのスライス
@array=('item0','item1','item2');
#変数は配列のまま要素を指定 ('item1','item2')
@array_slice=@array[1,2];
%hash=(key1=>'val1',key2>'val2',key3=>'val3');
@array_slice=@hash{key1,key3}; #('val1','val3')
@keys = qw(key1 key3);
@array_slice=@hash{@keys}; #('val1','val3')
About this entry
You’re currently reading “Perlのリファレンスを使用する方法,” an entry on Tech * Note
- Published:
- 05.20.07 / 11pm
- Category:
- Perl
1436 Comments
Jump to comment form | comments rss [?] | trackback uri [?]