Perlの配列操作における基本をメモ
# 配列初期化
@list = ();
@list = ("あ","い","う","え","お");
# 配列アクセス
$list[0]; # あ
$list[1]; # い
# 配列の長さ
$#list+1; # 5
$listLength = @list; # 5
# ふぉーいーち(foreach)
foreach my $val (@list){
print "$val\n<br />";
}
# ふぉーぶん(for)
for( $i=0 ; $i <= $#list ; $i++ ){
print $list[$i], "\n";
}
# 配列が空かどうか調べる
if ( $#list < 0 ){
die("配列空");
}
# 配列を出力
print @list;
# あいうえお
# 区切り文字を追加 or 変更して出力
$" = ',';
print @list;
# あ,い,う,え,お
# 配列に追加
push(@list, $hoge); # 最後に追加
unshift(@list, $hoge); # 先頭に追加
# 配列から削除
pop(@list); # 最後の要素を削除
shift(@list); # 先頭の要素を削除
# 配列の途中を削除 or 追加などの操作
splice( @list, n番目から, m個を削除して, ["か", "き", "く"]を追加 );
splice( @list, -n(後ろからn)番目から, m個を削除して, ["か", "き", "く"]を追加 );
# 連想配列の初期化とか
%hash = ();
# 連想配列の取り出し
while ( ( $key, $value ) = each( %hash ) ) {
if($value ne ""){
print "$key : $value\n<br />";
}
}
連想配列の操作はどうするんだろう。配列を使って、オブジェクト指向的に無理やり作ればいいのかね。