HTML::ShakanのconstraintsでKATAKANAとかを使う
package MyForm; use strict; use warnings; use HTML::Shakan::Declare; use FormValidator::Lite::Constraint::Japanese; form 'add' => ( TextField( name => 'katakana', constraints => [ 'KATAKANA' ], ), TextField( name => 'hiragana', constraints => [ 'HIRAGANA' ], ) ); package main; use strict; use warnings; use utf8; use CGI; use Encode; my $q = CGI->new; $q->param(katakana => 'カタカナ'); $q->param(hiragana => 'ひらがな'); my $form = MyForm->get('add' => ( request => $q )); if ($form->submitted_and_valid) { print encode('cp932', $form->render()); } else { print 'not valid'; }
FormValidator::Lite::Constraint::Japaneseをuseするだけ。
※Encodeは試したのがコマンドプロンプトだったから。