mieki256's diary



2009/05/21(木) [n年前の日記]

#1 [prog] Perl/TkとConfig::Simpleでハマり

昨日作成したスクリプト(exe化したもの)を、ActivePerlをインストールしていない親父さんpcに入れてみたらちゃんと動いてくれた。が、親父さんの使い方からすると、いくつか修正しなければいけない点があることに気付いたり。その中の一つに、htmlのページタイトルをその都度指定したいというソレがあって。であれば、初期値文字列をiniに含めて…と修正したところでハマったり。

SJISのiniを読み込んで表示できない例

UTF8のiniを読み込んで表示できない例

SJISのiniを読み込んで表示できた例

UTF8のiniを読み込んで表示できた例


スクリプト自体をUTF8で書くことと関連して、iniをSJISで書くか、UTF8で書くかなどの問題もあるようで。

サンプルスクリプトはこんな感じ。
#!/usr/bin/perl -w
#
# Config:Simple と Tk のテスト
# スクリプト自体は utf8で記述

use strict;
use warnings;
use utf8;
use Tk;
use Encode;
use Config::Simple;

my $mode = 3;

# iniファイル読み込み

my $title = '';
if ( $mode == 0 ) {                                     # NG : ini が shiftjis
    my $cfg = new Config::Simple('setting_sjis.ini');
    $title = $cfg->param('setting.title');
} elsif ( $mode == 1 ) {                                # NG : ini が utf8
    my $cfg = new Config::Simple('setting_utf8.ini');
    $title = $cfg->param('setting.title');
} elsif ( $mode == 2 ) {                                # OK : ini が shiftjis
    my $cfg = new Config::Simple('setting_sjis.ini');
    binmode STDIN, ':encoding(shiftjis)';
    $title = decode('shiftjis', $cfg->param('setting.title'));
} else {                                                # OK : ini が utf8
    my $cfg = new Config::Simple('setting_utf8.ini');
    $title = decode('utf8', $cfg->param('setting.title'));
}

# Tk 初期化

my $mw= new MainWindow;
$mw->title("Config::Simple and Tk test");
$mw->fontCreate('MS',-family => 'MS ゴシック');
$mw->optionAdd('*font' => 'MS 9');

$mw->Label(-text => "タイトル")->grid(-row => 0, -column => 0);
$mw->Entry(-textvariable => \$title)->grid(-row => 0, -column => 1);

MainLoop;
encoding() とか decode() とか、さっぱり判ってないまま巷のソレをコピペでアレコレなのです。

#2 [prog] EXIFとかIPTCなるものがよくわからず

jpg画像にタイトル文字列を含めてソレをPerlスクリプトから読み込めたら画像にタイトルがつけてある画像一覧html等を出力できるかな、と思いついたのだけどタイトル情報をどうやって付加・編集するのかで悩んだり。 等をしてみたけれど…うーん。Windows関係のソレは、「XPtitle」「XPcomment」なる項目が増えることは判ったけど、ソレを当てにしてしまっていいのだろうか。そもそも EXIF と IPTC のどちらを使ったほうがいいのかよくわからんわけで。

以上、1 日分です。

過去ログ表示

Prev - 2009/05 - Next
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
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project