多次元配列エミュレート

Perl初心者のためのPerlノートです!

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ WEBリーダー/ 燈明日記/ yahoo

◆ はじめに

本ページは、私がPerlを習得した時(いや習得中)のノートです。

ごく普通の言語(COBOL,C,Java,VB等)を知っている人が、Perlをやり始めるといろいろと悩むことがあります。

それは、

です。

本ページは、そのようなハードルを一つ一つクリアにしていけたらと思います。

そして、本ページが何かのお役に立てれば幸いです。では、ごゆっくりご覧ください。

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくPerlノート掲示板へご指摘ください。

◆ サイト最新情報

◆ コンテンツ

2008-07-15 多次元配列エミュレート

実は、私もよく知らないのですが、『$;』を調べていて辿りつきました。

Perl4の時代はリファレンスがなかったので、多次元を以下の方法でエミュレートしていたらしい。


ちなみに、『$;』は、デフォルト値が "\034"で、詳しくは以下を参照してください。


Perl4での多次元配列エミュレートサンプル(taji4.pl)
use strict;
use warnings;

print "--多次元配列エミュレート for Perl4--\n";
my %hash4 = (
              "0$;0" => 'A1', "0$;1" => 'B1', "0$;2" => 'C1',
              "1$;0" => 'A2', "1$;1" => 'B2', "1$;2" => 'C2',
              "2$;0" => 'A3', "2$;1" => 'B3', "2$;2" => 'C3',
            );
print $hash4{0,0}, " | ";
print $hash4{0,1}, " | ";
print $hash4{0,2}, "\n";
print $hash4{1,0}, " | ";
print $hash4{1,1}, " | ";
print $hash4{1,2}, "\n";
print $hash4{2,0}, " | ";
print $hash4{2,1}, " | ";
print $hash4{2,2}, "\n";
 C:\test>perl taji4.pl
 --多次元配列エミュレート for Perl4--
 A1 | B1 | C1
 A2 | B2 | C2
 A3 | B3 | C3

ちなみにPerl5での多次元ハッシュ&多次元配列サンプル(taji5.pl)
use strict;
use warnings;

print "--多次元ハッシュ--\n";
my %hash5 = (
              0 => {0 => 'A1', 1 => 'B1', 2 => 'C1'},
              1 => {0 => 'A2', 1 => 'B2', 2 => 'C2'},
              2 => {0 => 'A3', 1 => 'B3', 2 => 'C3'},
            );
print $hash5{0}{0}, " | ";
print $hash5{0}{1}, " | ";
print $hash5{0}{2}, "\n";
print $hash5{1}{0}, " | ";
print $hash5{1}{1}, " | ";
print $hash5{1}{2}, "\n";
print $hash5{2}{0}, " | ";
print $hash5{2}{1}, " | ";
print $hash5{2}{2}, "\n";

print "--多次元配列--\n";
my @array = (
              [ qw(A1 B1 C1) ],
              [ qw(A2 B2 C2) ],
              [ qw(A3 B3 C3) ],
            );
print $array[0][0], " | ";
print $array[0][1], " | ";
print $array[0][2], "\n";
print $array[1][0], " | ";
print $array[1][1], " | ";
print $array[1][2], "\n";
print $array[2][0], " | ";
print $array[2][1], " | ";
print $array[2][2], "\n";
 C:\test>perl taji5.pl
 --多次元ハッシュ--
 A1 | B1 | C1
 A2 | B2 | C2
 A3 | B3 | C3
 --多次元配列--
 A1 | B1 | C1
 A2 | B2 | C2
 A3 | B3 | C3

◆ おすすめ Perl本

■ 続・初めてのPerl 改訂版

『初めてのPerl』の次ぎに読むと吉です。

結構いいですが・・・、初心者にはちょっと難しいかもです。

■ 結城浩のPerlクイズ

この本には、ちゃいちゃんパパの小話しが載っています(謎)。

ある程度、Perlを理解している人には、たまらない内容になっています。さすが結城先生だな!

結城浩のPerlクイズ

■ 新版Perl言語プログラミングレッスン入門編

実は、私はまだ読んでいませんが、結城先生の本なので良くないはずがありません。

新版Perl言語プログラミングレッスン入門編

■ CGI&Perlポケットリファレンス (Pocket reference)

この本は、非常に役に立ちます。ちょっと調べるのに最適です。サンプルも説明も的を射ています。

CGI&Perlポケットリファレンス (Pocket reference)

■ Perlベストプラクティス

一読の価値有りだと思います。

Perlベストプラクティス

■ プログラミングPerl〈VOLUME1〉

ご存知、Perl本の聖書、ラクダ本(上)です。

■ プログラミングPerl〈VOLUME2〉

ご存知、Perl本の聖書、ラクダ本(下)です。

◆ おわりに

最後に、本ページが、何かのお役に立てれば幸いです。

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくPerlノート掲示板へご指摘ください。

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ WEBリーダー/ 燈明日記/ yahoo

人のよいところをどんどん見つけよう