« 【ココログ】ページ内目次:記事の編集画面へのリンクを修正 | トップページ | 【Excel】属性指定検索/属性をタグに変換 »

2006/05/23

【覚書】Perlで配列のメンバとしてHASH変数を追加する、他

忘れないうちにメモ書き。
しばらく書いてないのですっかり忘れてしまってましたが……Perlって構造体使えないのですね(ナニヲイマサラ)。

代わりに配列とHASHを駆使すれば似たようなことは出来るようですが。
配列にHASHを追加するには、
push( @array, { %hash } ) ;
でよい……のかな?。

{ }を付けわすれるとうまくいかない

以下、サンプル(上記の他、HASHへの値セットパターンいくつか&サブルーチンへ渡す引数をリファレンス渡しにする例。処理内容には特に意味無し)。

#! /usr/bin/perl -w

my @list = () ;

%tmp1 = ( 'id', '11111', 'name', 'R.B' ) ;
push( @list, { %tmp1 } ) ;

%tmp2 = (
    id      =>  '22222'
,   name    =>  'D.E'
) ;
push( @list, { %tmp2 } ) ;

my  %tmp3 ;
$tmp3{'id'} = '33333' ;
$tmp3{'name'} = 'W.K' ;
push( @list, { %tmp3 } ) ;


my $data = 'id,12345,name,A.K:id,67890,name,S.T:id,10293,name,G.H' ;
my @unit = split( ':', $data ) ;
for my $elm ( @unit ) {
    my %tmp = split( ',', $elm ) ;
    push( @list, { %tmp } ) ;
}


print "_/_/_/ TEST 1 _/_/_/\n\n" ;
print "\$list {\n" ;
for ( my $ci=0; $ci <= $#list; $ci++ ) {
    print "  [$ci] {\n" ;
    for my $key ( keys %{ $list[$ci] } ) {
        print "    $key => '$list[$ci]{$key}'\n";
    }
    print "  }\n" ;
}
print "}\n\n" ;


print "_/_/_/ TEST 2 _/_/_/\n\n" ;
print "\$list {\n" ;
for my $ci (0..$#list) {
    &prtUnit( \@list, $ci ) ;
}
print "}\n\n" ;


# _/_/_/ subroutine _/_/_/
sub prtUnit
{
    my  $refList = shift ;
    my  $ci = shift ;
    
    print "  [$ci] {\n" ;
    for my $key ( keys %{ $refList->[$ci] } ) {
        print "    $key => '$refList->[$ci]{$key}'\n";
#       print "    $key => '$$refList[$ci]{$key}'\n";   # same as above
    }
    print "  }\n" ;

}   # end of prtUnit2

__END__

« 【ココログ】ページ内目次:記事の編集画面へのリンクを修正 | トップページ | 【Excel】属性指定検索/属性をタグに変換 »

パソコン・インターネット」カテゴリの記事

覚書」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 【覚書】Perlで配列のメンバとしてHASH変数を追加する、他:

« 【ココログ】ページ内目次:記事の編集画面へのリンクを修正 | トップページ | 【Excel】属性指定検索/属性をタグに変換 »

戻るリンク追加

カレンダー

2022年4月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

ココログカレンダーPlus(旧2)

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

コメントリストツリー化

無料ブログはココログ