小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

PerlでVBの構造体配列処理を表現するには

たとえば、VB2005での以下のような構造体配列処理は、Perlでは以下の下のような感じになります。

VB2005での構造体配列処理

Module Module1
    Private Structure StrucTest
        Public straaa As String
        Public intbbb As Integer
    End Structure
Sub main()
    Dim i As Integer
    Dim a(10) As StrucTest
    For i = 0 To 10 Step 1
        a(i).straaa = "xxx" & i
        a(i).intbbb = i
    Next i
    For i = 0 To 10 Step 1
        Debug.Print(a(i).straaa)
        Debug.Print(a(i).intbbb)
    Next i
End Sub
End Module

Perlでの構造体配列風の処理

use strict;
my @a = ();
for (my $i = 0; $i <= 10; $i++) {
    $a[$i]{straaa} = "xxx" . $i;
    $a[$i]{intbbb} = $i;
}
for (my $i = 0; $i <= 10; $i++) {
    print $a[$i]{straaa}, "\n";
    print $a[$i]{intbbb}, "\n";
}

ご覧の通り、Perlでは、『構造体配列』を『ハッシュの配列』で処理します。たぶん。