| use Encode; | | |
| use utf8; | | |
| | | |
| my ($myEnReadData, $myEnReadData, $myDeKey, $myDeKanaData, $myEnKanaData, $myDeLcKey, $myEnLcKey); |
| | | |
| tie %MyHash,DB_File, $gDBFilePath, O_RDWR|O_CREATE, 0666, $DB_HASH; | ##データベースファイルを新規作成する |
| if (!open(FILE,$gFilePath)) { print "file open error : $gFilePath"; exit; } | ## タブ切りcsvファイルをオープンする |
| @gData = <FILE>; | | ## ファイル内容を一気に配列に読み込む |
| close FILE; | | ## データファイルを閉じる |
|
|
| foreach $myEnReadData (@gData)
|
| {
|
| $myDeReadData | = decode_utf8($myEnReadData); | ## csvファイルの行データを一括デコードする |
| ($myDeKey, $myDeKanaData ) | = split(/\t/,$myDeReadData); | ## csvデータをカラム単位で抜き取る |
| $myDeLcKey | = lc($myDeKey); | ## キーデータを小文字統一する |
| $myDeKanaData | =~ tr/ァ-ン/ぁ-ん/; | ## データのカタカナをひらがなに変換する |
| $myEnLcKey | = encode_utf8($myDeLcKey); | ## キーをエンコードする |
| $myEnKanaData | = encode_utf8($myDeKanaData); | ## データーをエンコードする |
| $myDeMessage | = "キーワード:$myDeLcKey データ:$myDeKanaData<BR>\n"; | ## メッセージ・データーを構成する |
| $myEnMessage | = encode_utf8($myDeMessage); | ## メッセージをエンコードする |
| print "$myEnMessage"; | | ## エンコードされたメッセージを出力する |
| $MyHash{$myEnLcKey} | = $myEnKanaData; | ## dbデータベースファイルに記録する |
| } | | |
| untie %MyHash; | | ## dbデータベースをフラッシュし保存終了する |
| chmod 0666, $gDBFilePath; | | ## ファイル属性を666とする |