ChaichanPapa-World !

燈明日記(2007/05

◆ インデックス

◆ 2007年5月

■ 2007-05-30 Perlでrequireとuseの違い

requireは、C言語でいうところの#include、COBOLでいうところのCOPY句と同じで、

単に別テキストファイルになっているソースをあたかも同テキストのソースとして扱う。

つまり、requireしたソースは、そのまま書いたものと同じです。

ただし、requireには、真の値を返さなければならない。そのため、ソースの最後の行に 1; を置く。

また、スクリプト実行時に評価される。

しかし、useを使って組み込まれたモジュールは、package宣言されたクラスです。

したがって、コンパイル時に評価され、モジュールで定義されているサブルーチンなどをインポートします。

requireとuseの違いリンク集

■ 2007-05-30 Perlでmyとlocalの違い

Perlでは、変数宣言がありません。また、変数スコープはグローバル(サブルーチンを越えてプログラム全体で共有される)です。

しかし、my関数とlocal関数を使うことにより、あたかもローカル変数宣言のようにできます。

また、myとlocalでの違いは、以下の通りです。

myで宣言された変数はレキシカルスコープ(lexical scope)を持ちますが、

localで宣言された変数はダイナミックスコープ(dynamic scope)を持ちます。

myで宣言された変数は宣言されたブロックのみで有効です。

一方、localで宣言された変数は呼び出したサブルーチンの先でも有効です。

http://blog.mag2.com/m/log/0000015670/15143023.html
localのサンプル
$word = "晴れ";
&today;

sub today {
     local $word = "雨";
     &yesterday;
     print "今日は$wordです。\n";
}

sub yesterday {
     print "昨日は$wordでした。\n";
}

<実行結果>
昨日は雨でした。
今日は雨です。  
http://www.kent-web.com/perl/chap8.html
myのサンプル
$word = "晴れ";
&today;

sub today {
     my $word = "雨";
     &yesterday;
     print "今日は$wordです。\n";
}

sub yesterday {
     print "昨日は$wordでした。\n";
}

<実行結果>
昨日は晴れでした。
今日は雨です。  
http://www.kent-web.com/perl/chap8.html

■ 2007-05-30 Perlで型グロブとは

Perlで型グロブといえば変数名のワイルドカードと思えばいいのかな。

今のstrict・リファレンス時代(謎)では、すでに過去の悪の遺産ですか?

以下に、サブルーチン引数参照渡しのリファレンスと型グロブのサンプルです。

@a=(1,2,3);
@b=(4,5,6);
print "\@a=@a \@b=@b\n";
func1(\@a,\@b);
print "\@a=@a \@b=@b\n";
func2(*a,*b);
print "\@a=@a \@b=@b\n";

# リファレンス
sub func1 {
  ($ref_a,$ref_b)=@_;
  foreach ( @$ref_a ){ $_++ }
  foreach ( 0..$#{$ref_b} ){ $$ref_b[$_]++ }
}

# 型グロブ
sub func2 {
  (*glob_a,*glob_b)=@_;
  foreach ( @glob_a ){ $_++ }
  foreach ( 0..$#glob_b ){ $glob_b[$_]++ }
}
http://www.tohoho-web.com/lng/199912/99120187.htm

ちなみに、$_には、何が入るかわかりますよね。

■ 2007-05-30 結城浩のPerlクイズ

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

結城浩のPerlクイズ

結城浩のPerlクイズ

■ 2007-05-29 すこし多忙

今日は、会社から帰ってきて、某宅で地区長会議(某教会)があり、終わりが22時。

家に帰ってきて、懺悔経を小一時間。


Perlネタが何個かあるんだけど、今日はもう気力がないので、明日以降に……。

では、今からお風呂に入って寝ます。おやすみなさい。

■ 2007-05-28 Perlのsplitで、デリミタのないセパレート

普通、split関数は、スカラー変数の文字列をデリミタで区切って、その値を配列変数に格納します。

では、デリミタを指定しない場合『//』は、どうなるでしょうか…。

#!/usr/bin/perl -w
use strict;

$_ = "11 22 33";
my @aaa = split //;
print $aaa[0]; #1
print $aaa[1]; #1
print $aaa[2]; #スペース
print $aaa[3]; #2
print $aaa[4]; #2

1バイトづつセパレートされる。

つまり、1バイトづつのデリミタがNULLとみなされる。

ちなみに、『//』を省略するとデリミタはスペース(\t\n含む)とみなされる。

#!/usr/bin/perl -w
use strict;

$_ = "11 22 33";
my @aaa = split;
print $aaa[0]; #11
print $aaa[1]; #22
print $aaa[2]; #33

■ 2007-05-28 Perlで-wオプションとstrictプラグマ

コマンドラインやシバンで-wオプションを指定すると以下のような警告を得ることができます。

#!/usr/bin/perl -w

strictプラグマのモジュールを使用すると変数(スカラー、配列、ハッシュ)はすべてmy宣言が必要です。

use strict;

とにかく、変数は宣言した方が、バグが入りにくくなり、何かと推奨なのです。

私が1999年頃にCGI作成でPerlをやり始めた時は、それほどではなかったのですが……。

ちなみに、プラグマとは、コンパイラに対する命令の一。

■ 2007-05-28 Perlでの数値の扱いのメモ

Perlでの数値は、倍精度浮動小数点だけを扱う。

外部的な整数値は、倍精度浮動小数点と等価のものを扱う。

よって、内部的には、整数値ない。

■ 2007-05-28 初めてのPerl

先日、ご紹介した『すぐわかるPerl』のつぎにこの本を読むと吉です。

『初めての』といいながら、ちょっとレベル高いです。

■ 2007-05-27 お墓参り、読経よりも……

今日は、家内と2人で、家内の祖父母のお墓参りに行って来ました。

お墓は、家から歩きで、実は、3分ぐらいのところにあります。

お墓を掃除して、お花とお線香を上げ、お題目を三唱しました。


また、ここのところ、家内と2人で毎日三部経(法華経)を一品上げるのが日課になっております。

家内は、体の調子が悪い時でも、お経だけはと頑張って上げております。


また、家内は、調子がいい時に、積極的にトイレ掃除や子供部屋掃除をしております。

そのお陰様か、鬱の具合が徐々によくなってきている感じがします。


でも、お墓参りや読経そのものよりも、2人で仲良く協力しながら行うことがいいのかもしません。

なんでも、2人で仲良く協力しながら行う。すみません。おのろけになってしまいました。

■ 2007-05-27 道という漢字の起源

『道』は、現代では、柔道や剣道などのその道を極めるという、ちっとお堅いイメージの漢字です。

しかし、『道』の漢字起源は、実は、それとは正反対のおどろおどろしいイメージの漢字なのです。


まず、漢字の起源は、今から約3200年前の中国です。

その時代は、ある意味、野蛮人と神が渾然としたような時代だったらしいです。


ですので、漢字起源には、そのような社会の投影が反映されているのです。

具体的には、以下の3つです。

  1. 神や祈りの儀式に関係した漢字が多い。
  2. 呪術的世界が反映した漢字が多い。
  3. 戦争に関係した漢字が多い。

で、『道』ですが、2の呪術的な漢字なのです。

切った首を持って、道を行く字形。

道を行く時に異族の人の首を刎ねて、道に潜む邪霊を、その首で祓い清め進むことを『導き』といい、

祓い清められたところを『道』いう。

いやー、おどろおどろしい……。

尚、本内容は、白川静先生の字解を大変参考にさせて頂いています。

■ 2007-05-27 白川静さんに学ぶ 漢字は楽しい

この本は、白川静先生の字解を凄く分かり易く説明されてあって、大変読み易い本になっています。

漢字の起源や字解に興味がある人には超おすすめの1冊です。

白川静さんに学ぶ 漢字は楽しい

白川静さんに学ぶ 漢字は楽しい

■ 2007-05-26 鬱落ち1日

昨日、午後ぐらいに、死にたいとまた家内からメール、そして、会社から定時に帰って家内の介護。

しかし、今日の午後ぐらいから復活して、今は活き活きと輝きはじめました。

その間、約一日、大分、鬱の波が短くなって来ました。よかったよかった。

■ 2007-05-26 奇跡のメロディー

話は変わって、こころのところ毎日、ミスチルのCDを聞いています。

ケースと歌詞カードがないので曲名が分からないのですが、以下の歌詞が大変気に入りました。

夕べギターを弾いて、うとうとした瞬間に、奇跡のメロディーがふってきて、なのにおぼえていなんだ

きのうの夜の魔法をあーあーなんてもったいない、世界中を幸せにするようなメロディー

確かに口ずさんでいたはずなのに、あんまりおえてないや、あんまりおえてないや、あんまりおえてないや、あんまり…。

この曲を初めに聞いたときは、イマイチだと思ったけど、何回も聞いている内に、今はこの曲事体が奇跡のメロディーに思えて成りません。

そう、今はこの曲が、世界中を幸せにするようなメロディーに思えています。

しかし、なんて曲名なんだろう……。

■ 2007-05-26 正義という漢字の起源

正義の二文字とも、『ただしい』という意味で、二つ重ねることで『よりただしい』ことを表しています。

そして、漢字的イメージとしては、ものすごくプラスなイメージですね。

しかし、漢字起源的には、意外にマイナス的なイメージなのです。


『正』という漢字起源は、城を滅ぼすためにその城へ進攻して征服することを表しています。

『正』の『一』は城を表し、『止』は足で進攻することを表しているのです。

そして、滅ぼした相手を正すことが、本来の『正』の意味なのです。


一方、『義』は、犠牲として羊をノコギリ(我)で切って、神様にお供えする儀式を表しています。

そして、この羊の犠牲としての儀式を『ただしく』完璧に行うことが、本来の『義』の意味なのです。


ということで、漢字起源的な正義とは、『征服した相手を完璧にただすための支配者の道理』のことだったのです。

尚、本内容は、白川静先生の字解を大変参考にさせて頂いています。

■ 2007-05-25 困難こそが、チャンス?

とある宗教系新聞の抜粋です。

人類の直面する困難こそが、菩薩道の機会を与えてくれるのであり、混迷の時代こそが地球に浄土をつくるチャンスを与えてくれるのだと信じています。

社会を変革するには、まず自ら清らかにしなければいけません。

地球の不浄から解放されなければならないのです。

私たちは、来世に極楽を求めることはできません。

極楽はここにあり、この瞬間に魂の目覚め、愛する心を持つのです。

まさに今の環境問題は、人類の直面する困難ですね!

少し、琴線に触れたので、ご紹介いたしました。

■ 2007-05-24 EXCELで別シートを参照してのドロップダウンリスト

セルにドロップダウンリストを付加する操作手順です。

  1. リストデータ用のシートのセルにリスト項目を入力し、『名前定義』をする。
  2. 名前定義は、リスト項目を選択して、左上の名前ボックスで、名前を入力し改行し定義する。
  3. ドロップダウンリスト用のシートの任意のセルを一つ選択する。
  4. メニューから[データ]-[入力規則]-[設定]-[入力値の種類]-[リスト]と操作していく。
  5. [元の値]欄に「=名前定義した名前]を入力し、OKボタンをクリックする。
  6. すると選択した任意のセルにドロップダウンリストが付加される。
  7. 他のセルには、これをコピーすればよい。

はまるポイントは、2番の『改行し』です。これをしないと名前定義が確定されない。

■ 2007-05-24 暗号技術入門-秘密の国のアリス

実は私は、この本のオンラインレビューに当初参加していたのですが、仕事の方が忙しくなって、途中でリタイヤをしてしまいました。最後まで参加できなくて今でも残念な思い出です。


内容の方は、凄く難しい暗号技術を易しく噛み砕いて説明されていて、セキュリティ系の最適な入門書だと思います。

ちなみに、私のコンテンツ『不思議な国のアドレス』のタイトルは、この本をマネしました(パクリかよ)。

暗号技術入門-秘密の国のアリス

暗号技術入門-秘密の国のアリス

■ 2007-05-23 レジストリ理解

WINDOWS95ぐらいからレジストリというプログラムの参照設定情報を保存するデータベースが登場します。

しかし、レジストリを下手にさわるとOSの再インストールが必要になることもあるのです。

そんな厄介なレジストリですが、プログラマとしては、いつまでも避けて通れないので今回勉強をしてみました。

上記のサイトで、大体レジストリは理解できたけど、やはり操作はしたくないですね。

WINDOWS−XPは、レジストリバックアップを自動でしてくれるのですこし安心しました。

■ 2007-05-23 すぐわかるPerl

この本、凄く難解なPerlを分かり易くやさしく説明をしていて、まさに『すぐわかるPerl』です!

Perl入門に最適な本だと思います。この本から入れば、たぶん、Perlで悩まなくてすみます。


すぐわかるPerl

すぐわかるPerl

■ 2007-05-22 IEで素早くページ遷移

一度アクセスしたページへ移る時は、普通、戻るボタンや進むボタンを使います。

しかし、もっと素早く移るには、シフトキーを押しながらマウスホイールをぐりぐり!

■ 2007-05-22 IEで素早く文字サイズ変更

WEBページの文字サイズを大きくしたり小さくするには、普通、メニューの表示から行います。

しかし、もっと素早く変更するには、コントロールキーを押しながらマウスホイールをぐりぐり!

■ 2007-05-22 IEで素早く文字選択

WEBページの文字を選択するには、普通、文字をマウスでドローします。

しかし、もっと素早く選択するには、ダブルクリックまたは、トリプルクリックをします。


ちなみに、ダブルクリックだと単語選択、トリプルクリックだとブロック要素選択(たぶん)になります。

留意点:ダブルクリックの単語選択は、日本語だとイマイチです。

■ 2007-05-22 Java言語プログラミングレッスン (上・下)

私はこの本でJavaの勉強を致しました。すごく分かり易かったですよ!

ちなみに、プログラマを27年間やっていますが、Javaの仕事には縁がありません(残念)。


改訂第2版 Java言語プログラミングレッスン (上)

改訂第2版 Java言語プログラミングレッスン (上)

改訂第2版 Java言語プログラミングレッスン (下)

改訂第2版 Java言語プログラミングレッスン (下)

■ 2007-05-21 風邪ひいた!

昨晩は薄着でコンビニへ買い物をしにいって風邪を引いたようです。

昼間は真夏のように暑かったのに、夜はすごく寒かったですね。


みなさんも、風邪など引かぬように気をつけてくださいね。


しかし、免疫力が低下しているなぁ-->50代自分。

■ 2007-05-20 燈明日記過去ログ手直し

今日は、午後から夕飯のカレーを作りながら、空き時間に燈明日記の過去ログを手直ししました。

尚、カレーの方は、仕上げに牛乳を少し入れると、凄くマイルドなりますね! って誰にともなく……。

■ 2007-05-20 プログラマの数学

ちなみに、『数学ガール』は6月末発売予定とのことです。

プログラマの数学

プログラマの数学

http://d.hatena.ne.jp/hyuki/20070525

それ、私かも

■ 2007-05-19 素早くプロパティを開くには

ファイルやフォルダのプロパティは、普通、右クリックメニューの一番下にあります。

ですので、ファイルやフォルダを右クリックして一番したにカーソル持っていき選択します。


しかし、もっと素早くプロパティを開くには、Altキーを押しながらEnterキーを押します。

あと、もっともっと素早くは、Altキーを押しながらダブルクリック!

■ 2007-05-19 家族団欒

昨夜は、本当に珍しく家族全員で夕飯を食べました。

普段は、長男と次男はバイトで、この時間は、ほとんど家に居ません。

しかし昨夜は、珍しく2人ともバイトが休みで家に居たのです。


そして私は、長男と次男にみんなで食べようよって勧め、三男も一緒に家族全員で夕飯を食べることが出来たのです。

おぉ、理想の家族団欒が実現できました。これぞ、しあわせの家族……。


私は、おじいさん(私の父)が亡くなる前に言っていたことを思い出しました。

『ご宝前(仏壇)のある部屋で、家族全員で食事をすることができるような家庭にしたい』

ある意味、遺言だったのかも知れません。

そう、昨夜、おじいさんの願いを実現することができたのです(合掌)。

■ 2007-05-18 WINDOWS-XP(NTFS)のアクセス権限設定

ここのところ、WINDOWS-XP(NTFS)のアクセス権限設定について調べていました。

切っ掛けは、VB6で作成したフォルダ削除APを直接起動した時とVBSからWSH経由で起動したときに異なった結果になったからです。

それは、フォルダを削除されない権限にしても、VBSからのWSH経由でフォルダ削除APを起動したときに削除されてしまうのです。

真の原因はわかりませんが、MSのパッチを充てていないPCのみで発生しました。


というわけで、以下のサイトでWINDOWS-XP(NTFS)のアクセス権限設定を勉強してみました。



上記のリンク先の説明通り、ユーザ毎やグループ毎にフォルダやファイルに対して、きめ細かなアクセス権限設定が出来ます。

しかし、……。



上記の組み合わせが絡みに絡まって非常に難しいアクセス権限設定になっていますね、WINDOWS-XPは。

アクセス権限設定がシンプルなUNIXからの転向者には、泣きですよ。って実は私のことです。

■ 2007-05-17 VB2005での新たな便利機能


具体的な方法は以下のリンク先を参照のこと

■ 2007-05-14 雑記

  1. Perlの仕事はちょっとやめて、先にVB2005の仕事をやることになった。
  2. 今、VB2005を猛勉強中。アセンブリやストロングネームと格闘中(謎)。
  3. 三男まちゃ(中1)は、初の携帯代請求で一万八千円!! ママからこっぴどく怒られる。
  4. 長男・次男は、アルバイトのやり過ぎで、パパより疲れている感じです。
  5. ママとは、病気のせいで(病気のお蔭様で)、すごく仲良しです。

■ 2007-05-13 母の日

今日は、母の日なので、おばあちゃん(家内の母)へプレゼントしました。

以下は、その時におばあちゃんから聞いた話しです。


おばあちゃんの孫で、ちゃいちゃんの従妹の子(小6)が、鼓笛隊パレード前日にちゃいちゃんの夢を見たとのことでした。

ちゃいちゃんは、『なにも言わないで、にこにこ微笑んでいた』とのことでした。(そちらに出没したか)


おばあちゃんは、ママ(実の娘)の鬱の病気を大変心配してくれて、普段からいろいろ助けてもらって、感謝してもしきれないです。

おばあちゃん、いつまでもお元気でいてください。このご恩は忘れませんよ。ありがとう。

■ 2007-05-12 ちゃいちゃん二十歳の誕生日

今日は5月12日、ちゃいちゃん二十歳の誕生日です。

ママと2人でちゃいちゃんのお墓参りに行って参りました。

ここのところママの鬱の具合が悪く、しかし、お墓参りだけはと、ママは頑張りました。

また、その勢いで、バースディケーキも作ってしまい、また明日ぐらいから、しばらくダウンしそうです。


お墓参りに行く途中、ママと話をしていて2つ疑問に思ったことがありました。


  1. 『千の風』の詩が本当なら、お墓には誰もないことになり、お墓参りをしても無意味ではないのか?
  2. 江原さん等が人には必ず背後霊がいると言っていますが本当なら、成仏できない霊が取り付いている?

この2つの疑問がわかる方いますか?


で、お墓参り方は、お墓をそうじして、2人で青経巻を読誦しました。

天気も丁度良い具合で、なぜか、今回は、こみ上げてくるものはなかったです。


ちゃいちゃん、もう二十歳、大人の女性ですね。

二十一歳の男の長男でも眩しいのに、ちゃいちゃんだったらどんなに眩しかったことでしょう……。

■ 2007-05-12 近況

最近、仕事も家庭も忙しく、なかな日記を書く機会も気力もなく、毎日日記を付けることに3日ほど穴を開けてしまいました。

すみません。って誰に謝っている?


仕事の方は、中国人の方二人と一緒にすることになり、日本語と片言英語を交えてコミュニケーションをしています。

二人ともとても感じが良い方で、今のところ上手く行っています。


二人とも、中国人のプログラマなので、プログラム言語・中国語・英語・日本語とこなすわけです。

他国でいろいろな言語を駆使して生きていく頼もしさ、凄いです。


ちなみに、中国の大学生はみんな英語がぺらぺらとのことです。(授業を英語で行うらしい)

日本の大学生(長男のレベルを想定している)が、自国の漢字すらろくに書けないのにです。

実は、長男のことを言えるほど、私も漢字が書けませんが… ^^;


家庭の方は、ママの鬱の具合が悪く、ママと家事のサポート。

しかし、鬱のお陰さまで、本当にママと仲良くすることが出来ています。

病気になるのも悪いことばかりでないですね。

■ 2007-05-08 マイナスは実はプラスだった!

ここ一年半、家内が鬱で具合が悪い、しかし、良く考えると鬱になる前より、看病や励ましなどで、ずーっと仲良しになれた。家事の大変さもよーくわかった。


また、子供達は、親が仲がいいので、いい子に育つし、パパは安月給、ママは半病人、を身で知っているのでアルバイトで自立。


そう、マイナスは実はプラスだったことに気がつきました。

すこし、気が楽になりました。

■ 2007-05-07 なんでなんだ

仕事が忙しくなると家内の鬱の具合も悪くなる…。

家内をとるか、仕事をとるか、当然、家内をとるわけですが、定時に帰って家の仕事と家内の傍に、会社の仕事も集中できない、そんなこんなで仕事の方は、リストラの危機に…。


なんでこんなに辛い人生なんだなんて、本気で思うようになってくる。

……。

■ 2007-05-06 連休最後の日のお墓参り

9連休中にちゃいちゃんのお墓参りをしたいと思っていたのだけれど、

連休中ママの鬱の具合がイマイチで、やっと今日お参りが出来ました。


お墓をタオルで拭いて、周りを掃除して、お線香を上げ、お経も上げました。

お経は、法華経16番をママと2人で暗誦しました。やはりこみ上げてくるものがありました。

いくら『千の風』で『私のお墓の前で泣かないでください、そこに私はいません、眠ってなんかいません』

と言ってもです…。


今日は5月6日、ちゃいちゃんの月命日です。

ふと、お墓に供えたお菓子に、先日私が何気なく買った『柿の種』があったのです。


ママになんでそれを持ってきたのって言ったら、ちゃいちゃんが大好きなお菓子だからと言いました。

ふだん、お菓子など買わない私が、何気なく買った『柿の種』、なんでお墓に供えてある…。




今度の土曜日は5月12日で、ちゃいちゃんの20才の誕生日です。もう7年以上が経過しました。

またその日に、お墓参りの行く予定です。

ちゃいちゃん、ママがちゃいちゃんのためにケーキを作るのを楽しみにしています。

■ 2007-05-05 Microsoft SQL Serverでテーブル内の項目に自動連番を付与

項目に自動連番を付与したい場合、Create TableのSQLでその項目にIDENTITYプロパティを指定します。

CREATE TABLE [xxxTBL] (

[任意連番No] [int] IDENTITY (1, 1) NOT NULL,

      :

      :

IDENTITY (1, 1)にすると、左側の1が起源値(シード)で、右側の1が増分値(インクリメント)になります。


また、SQLでなく、ビジュアルに設定したい場合は、 Enterprise Managerからテーブル名をクリックし、右クリックメニューで『テーブルのデザイン』を選択し、列タブからも設定が出来ます。

■ 2007-05-04 Mr.Children 私的ベスト5

  1. くるみ
  2. しるし
  3. いろどり
  4. サイン
  5. ヒーロー

■ 2007-05-04 法華経ノート分割

前回、法華経ノートを法華経エッセイに二分割しましたが、今回、以下のように四分割しました。

これからも、よろしくお願いします。


なぜ、四分割したかというと、『法華経』キーワードでのGoogle検索順位が下がってきたからです。

更新は、法華経エッセイがほとんどで、法華経ノートの更新は、あまりなく、これが原因のようです。


なので、更新情報は法華経ノートインデックス(URLは従来の法華経ノート)するようにしました。

つまり、よく更新されているページの方がGoogle検索順位が上がるみたいです。


あと、WEB相談室過去ログの1〜1500番を少しマシなHTMLに変更しました。

なんたって半端な修正量でないので、エディタでなく簡単なスクリプト組んで500個単位で一発変換!

上手く行くと気持ちいい!

■ 2007-05-03 マチャ(三男)の13歳の誕生日

今日は憲法記念日5月3日、我が家では三男・成憲(まさのり)の13歳の誕生です。


中学の入学祝いに長男から携帯電話をプレゼントされ、親(私)からは、自転車をプレゼントする予定でしたが、

ビンボーでなかなかできず、今回、誕生日として、やっと、自転車をプレゼントすることができました。

本来なら、入学祝いと誕生日で2つのプレゼントなのだけれども、一つで勘弁してもらいました。ごめんね。


中学ではバスケット部に入り、今日は試合で、試合から帰ってきて、スシローへ、おばあちゃんと家内と次男と私のみんなで食事にいきました。

スシローから帰ってきて、バースディケーキをみんなで食べ、それらしき誕生パーティをやりました。


末っ子でついこの間まで赤ちゃんだったのに、もう中学生。早いような遅いような。

しかし、かわいい中学生や、学生服が歩いているようでなんとも、はやく背が大きくなってバスケで活躍して欲しい。


友達が悩んでいる時は共に悩み、友達が喜んでいる時は共に喜ぶ、そんな子に育って欲しい。

マチャ、パパはいつも応援しているよ! 頑張れ!

■ 2007-05-03 4月分を更新

4月の燈明日記の内容を以下のページに反映しました。

■ 2007-05-03 Perlノート掲示板

上記のPerlノートについてのなんでも掲示板です。

■ 2007-05-02 動的にハッシュの配列を作成

動的にハッシュの配列

以下は、一行目に見出し項目行があり、2行目以降にデータがあるcsvデータを

標準入力から読み込んで見出し項目をハッシュキーにして行データを配列に格納します。

#!/usr/bin/perl -w
use strict;

# 変数宣言
my (@a, $i, $j, @item, @itemdata, %linedata);

# 変数初期化
@a=();
@item=();
@itemdata=();
%linedata=();

#標準入力から読み込み
while (<STDIN>) {
  chomp();
  if ($#item == -1) {     #一行目の見出し項目行の処理
     @item = split(",");  #ハッシュのキー項目を取得
  }
  else {
     @itemdata = split(",");
     for $j (0 .. $#item) {
        $linedata{$item[$j]} = $itemdata[$j];  #ハッシュを作成
     }
     # 無名ハッシュを中括弧するとそのリファレンススカラー値を返す。
     push (@a, { %linedata });
  }
}

# ハッシュの配列を取り出す
for $i (0 .. $#a) {
    for $j (sort keys %{$a[$i]}) {
        print '$a[' . $i . ']{' . $j . '}=' . $a[$i]{$j} . ' ';
    }
    print "\n";
}

push (@a, { %linedata });の { %linedata }は、%linedataのリファレンスでなく、

%linedataが展開されたデータについての無名ハッシュのリファレンスになります。

ちなみに、%linedataのリファレンスは、\%linedataです。

また、ちなみにpush関数は、配列の最後の要素にデータを押し込む関数です。

■ 2007-05-01 動的に配列の配列を作成

動的に配列の配列を作成

以下は、csvデータを標準入力から読み込んで行と列の2次元配列に格納します。

#!/usr/bin/perl -w
use strict;

# 変数宣言
my (@a, $i, $j);

# 変数初期化
@a = ();

#標準入力からcsvデータを読込み配列@aに格納
while (<STDIN>) {
  chomp();
  push(@a, [ split(",") ]);
}

# 配列の配列を取り出す
for $i (0 .. $#a) {
    for $j (0 .. $#{$a[$i]}) {
        print '$a[' . $i . '][' . $j . ']=' . $a[$i][$j] . '   ';
    }
    print "\n";
}