No.2ベストアンサー
- 回答日時:
jcode.plのtrを使えばもうちょっと楽に書けそうです。
$\ = "\n";
require 'jcode.pl';
$hira = 'あいうえお';
$kana = 'あイうえお';
$han = 'あいuえお';
$from = 'あ-ん';
&jcode::tr (\$hira,$from,'','d');
&jcode::tr (\$kana,$from,'','d');
&jcode::tr (\$han,$from,'','d');
print 'hira NG' if $hira;
print 'kana NG' if $kana;
print 'han NG' if $han;
この回答へのお礼
お礼日時:2004/04/21 21:28
回答ありがとうございます。
jcode.plの存在は知っているのですが、使い方がまだ全然わかっていない状態で・・・・
これから頑張って勉強したいと思います。
#3さんの補足とあわせて無事チェック処理をすることができるようになりました。
ありがとうございました。
No.4
- 回答日時:
#2 です。
#3 さんへ
>ぁ-ゞ がひらがなの範囲らしいです。
ぜんぜん気にしてませんでした。
ご指摘感謝です。
(「ぁ」「あ」の順番なんですね。「あ」「ぁ」にしてくれれば良いのに。。。)
と、言うわけで、こんな感じかな?
(ひらがなに含めたい文字がある場合は、ゞのあとに追加)
$\ = "\n";
require 'jcode.pl';
$hira = 'あいうえおぁ';
$kana = 'あイうえお';
$han = 'あいuえお';
$from = 'ぁ-ん゛゜ヽ-ゞ';
&jcode::tr (\$hira,$from,'','d');
&jcode::tr (\$kana,$from,'','d');
&jcode::tr (\$han,$from,'','d');
print 'hira NG' if $hira;
print 'kana NG' if $kana;
print 'han NG' if $han;
No.1
- 回答日時:
力技になってしまいました(^_^;)
#!/use/local/bin/perl
@test = qw(あいうえお
あいウえお
あいuえお
);
foreach (@test) {
printf("%-20s => %s\n", $_, (ishira($_) == 1) ? 'はい' : 'いいえ');
}
exit(0);
sub ishira {
my($p) = @_;
my($r, $l, $i, $m);
my($hira_euc) = '(?:\xA4[\xA1-\xF3])';
my($hira_sjis) = '(?:\x82[\x9F-\xF1])';
$r = 1;
$l = length($p);
for ($i = 0; $i < $l; $i++) {
$m = substr($p, $i, 1);
if (unpack("C", $m) > 127) {
$m .= substr($p, ++$i, 1);
$r = 0 unless ($m =~ $hira_euc);
}
else {
$r = 0;
}
}
($r);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- その他(Microsoft Office) (至急)Googleのスプレッドシートの条件付き書式について 2 2022/09/11 08:50
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- その他(社会・学校・職場) 業務内容についてどう思いますか? 私は客先の仕事を下請けとして行うという仕事をしていますが、(客先の 3 2022/05/04 17:55
- その他(社会・学校・職場) 業務内容についてどう思いますか? 私は客先の仕事を下請けとして行うという仕事をしていますが、(客先の 2 2022/05/04 16:17
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルで提出とは?
-
画像が表示でnull; this.src
-
openした後、closeしないでプロ...
-
ファイルアイコンの左下に緑の□...
-
perlをバージョンアップしたら...
-
perlのrequireの動き方について...
-
Strawberry Perl for Windows ...
-
perl 正規表現でエラー
-
perl 初等プログラミングについて
-
Perlで時間の計算
-
perlについての質問
-
Perlで特定文字列から特定文字...
-
INDIRECT 横に再度抽出したい
-
Wallpaper Engineでおすすめの...
-
Perl ご教示お願い致します。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーバーのテキストファイルを...
-
LuaJITで日本語出力
-
表示を一覧表形式にしたいので...
-
IIS の@INC ERRORについて教えて
-
索引を目次の該当ページへ入れ...
-
HTMLからCGIへデータを引き継ぎ
-
CGIの中で異なるContent-typeの...
-
jcode.pl 使い方
-
ブラウザ表示されません大変困...
-
CGIで、ボタンを押した時に違う...
-
perlがうごきません
-
標準入力からデータが読込めない
-
ランダムに1行読込み フォーム...
-
sjisでの文字化け?
-
サーバー(UNIX)上のフォルダ...
-
検索結果テーブルの背景色を変...
-
他のWWWサーバーからHTMLを得る
-
ひらがなチェック
-
次のcgiファイルを開くには? ...
-
ソケットの使い方が分からない
おすすめ情報