トップページphp
1001コメント318KB

Perlコーディング初心者質問スレ Part 55

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/05/30(水) 11:34:01ID:???
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

お勧めサイトは >>2-10

前スレ http://pc11.2ch.net/test/read.cgi/php/1171102883/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
0317nobodyさん2007/06/29(金) 13:55:16ID:???
>>316
jcode.pl使ってるけど、文字コードをEUCに揃えておいて、出力するときにShift_JISじゃだめかな。

ついでに、俺も似たような質問。
文字列に全角ひらがな [ぁ-ん]以外が含まれていないことをチェックしたくなりました。
文字コードはEUC-JPです。
あまりいい方法が思いつかないので、下記のページを参考にして、文字を1文字ずつ分割して
チェックしようかなと思うのですが、他にエレガントな方法はないでしょうか?

Perlメモ
ttp://www.din.or.jp/~ohzaki/perl.htm

# 全角ひらがな [ぁ-ん] # EUC-JP
$Zhiragana = '(?:\xA4[\xA1-\xF3])';

# $str を文字単位に分割して配列 @chars に代入する
$ascii = '[\x00-\x7F]';
$twoBytes = '[\x8E\xA1-\xFE][\xA1-\xFE]';
$threeBytes = '\x8F[\xA1-\xFE][\xA1-\xFE]';
@chars = $str =~ /$ascii|$twoBytes|$threeBytes/og;

if ((grep { $_ =~ /$Zhiragana|\s/ } @chars) != ($#chars + 1)) {
 print "全角ひらがな以外がある!";
} else {
 print "全角ひらがなしかない!";
}
0318nobodyさん2007/06/29(金) 13:57:36ID:???
>>317を撤回して再掲

>>316
jcode.pl使ってるけど、文字コードは全てEUCに揃えておいて、出力するときにShift_JIS変換じゃだめかな。

ついでに、俺も似たような質問。
文字列に全角ひらがな [ぁ-ん]以外が含まれていないことをチェックしたくなりました。
文字コードはEUC-JPです。
あまりいい方法が思いつかないので、下記のページを参考にして、文字を1文字ずつ分割して
チェックしようかなと思うのですが、他にエレガントな方法はないでしょうか?

Perlメモ
ttp://www.din.or.jp/~ohzaki/perl.htm

# 全角ひらがな [ぁ-ん] # EUC-JP
$Zhiragana = '(?:\xA4[\xA1-\xF3])';

# $str を文字単位に分割して配列 @chars に代入する
$ascii = '[\x00-\x7F]';
$twoBytes = '[\x8E\xA1-\xFE][\xA1-\xFE]';
$threeBytes = '\x8F[\xA1-\xFE][\xA1-\xFE]';
@chars = $str =~ /$ascii|$twoBytes|$threeBytes/og;

if ((grep { $_ =~ /$Zhiragana/ } @chars) != ($#chars + 1)) {
 print "全角ひらがな以外がある!";
} else {
 print "全角ひらがなしかない!";
}
■ このスレッドは過去ログ倉庫に格納されています