はじめの一歩 概要 - Ark とはインストール チュートリアル Hello World アプリケーションテンプレートを使うデータベースを使うユーザー認証OpenID 認証アプリケーションのテスト共有サーバーへのデプロイ ドキュメント コア Ark の基本Controller と ActionModel と Viewヘルパースクリプト プラグイン セッションキャッシュ認証 ホーム ページ一覧
はじめの一歩 概要 - Ark とはインストール チュートリアル Hello World アプリケーションテンプレートを使うデータベースを使うユーザー認証OpenID 認証アプリケーションのテスト共有サーバーへのデプロイ ドキュメント コア Ark の基本Controller と ActionModel と Viewヘルパースクリプト プラグイン セッションキャッシュ認証 ホーム ページ一覧
Web Application Framework Description Ark は perl で書かれたウェブアプリケーションフレームワーク(WAF)です。 Ark はおなじく perl 製のフレームワークである Catalyst を参考に開発されており、その多くの特徴はそのまま引き継いでいます。 そのため Catalyst の経験のある開発者であればすぐに使い始めることができるでしょう。 Catalyst とのいちばんの違いは、Catalyst は実用的に運用するためには基本的に mod_perl や FastCGI など永続的なプロセス実行環境を要求するのに対し、 Ark は CGI でも実用的に動作するという点を重視して開発されています。 もちろん mod_perl/FastCGI でも動作します。 より詳しい説明はドキュメントを参照ください。 Download 現在の最新バージ
ibmのas400(現在の製品名はSystem i)で使用されるebcdicという文字コードでは全角文字がある場合、その前後にシフト文字(0E:シフトアウト,0F:シフトイン)が挿入されます。 例えば、「漢字」という全角2文字がある場合 1byte 2-5byte 4byte 0E 漢字 0F as400とのファイル交換にhulftを使用すると、先ほどのシフト文字を半角スペースに置換してくれますが、シフト文字が半角スペースに置換されずに桁ずれを起こしてしまったデータをよく見かけます。 ebcdic)テスト テスト テスト sjis)テストテストテスト #←半角スペース2文字分ずれてますEncode::CJKConstantsでは、各エンコーディングの文字コードの範囲が定義されていますが、これを利用して、ebcdic->sjis変換で失われたシフト文字分の空白を復活させることができます。 E
最速IPアドレスマッチ研修会 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? もうすぐ2010年になるわけですが、携帯のサイトなどでアクセス元のIPアドレスがキャリアのIPアドレス帯域内にあるかどうかを確認したりすることがあると思います。 例えば、ローカルネットワークのアドレス(192.168.1.0/24)にマッチするかどうか $env->{REMOTE_ADDR} =~ s/^192\.168\.1\.(?:\d+)$/ なんて書くことがあると思います。ここであげたローカルのアドレスのような/24のIPアドレス帯域であれば簡単に正規表現を書くことが可能ですが、/25, /26 /23、/22などのCIDRは正規表現で表すことはなかなか難しいです。 また、携帯キャリアのアドレスであることを確認しよう
初代新幹線「0系」最後のラストランの日に、新幹線N700系のぞみでイーモバイルしながらこの記事を書いているid:TAKESAKOです。 Perlのヒアドキュメントを使うと複数行にわたる文字列を一気に代入したりするときに楽なので、使っている人も多いと思います。 my $foo = "bar"; my $tmp = time(); # ←関数の実行結果 print<<EOF; <div class="${foo}1"> <h1>TIME: $tmp</h1> </div> EOF しかし、ヒアドキュメントの途中でサブルーチンの実行結果も一緒に埋め込みたいときがでてくるときがあります。 @{[ Perlの式 ]} そのようなときは、@{[ リスト ]} というイディオムを使うと非常に便利です。 print<<EOF; <div class="${foo}1"> <h1>TIME: @{[ tim
_ という特殊変数があり、これは最後にテスト演算子に渡した引数を示します。 よって、ファイルでありかつリーダブルでありかつ実行可能であるというようなテストをしたい場合は、 -f $file && -r $file && -x $file; とするかわりに、 -f $file && -r _ && -x _; とかくことができます。 また、miyagawaさん情報によれば、perl5.10では -f -r -x $file; などのように書くことも出来るようになっているそうです。 次は dann さん。
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
2007年04月23日01:30 カテゴリLightweight LanguagesTips perl tips - Encodeを速く使う方法 はっきり言ってこれはフェアではない。 みかログ: ErlangとPerlの速度比較 Perl側は,Encodeが遅い. Encode::from_toがinplaceでコンバートしてしまうために,直前に文字列コピーがあるのも影響しているのかも なぜなら、Encode::from_to()は速度ではなく、安全性に最適化しているから。 そもそもはじめからUTF-8、それもutf8フラグがたっている文字列にfrom_toを使うのはばかげている。 for(my $i = 0; $i < 0xffff; $i++) { my $str2 = $str; Encode::from_to($str2, "UTF-8", "Shift_JIS"); } は単に
404 Blog Not Found:#perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 Validationの観点だけではなく、簡潔性の観点からも、Encode::decode_utf8()はおすすめです。すでに UTF-8 flag がついた文字列はそのままコピーするだけなので、条件分岐も不要です。 これは厳密にはこうなる。 Validationの観点だけではなく、簡潔性の観点からも、Encode::decode_utf8()はおすすめです。すでに UTF-8 flag がついた文字列はEncode-2.13以降であればそのままコピーするだけなので、条件分岐も不要です。 Encode-2.12ではそのままコピーしてない。そのままコピーするのは2.13以降での実装。 --- Encode-2.12/Encode.pm 2005-0
Unicode is a character set standard which plans to codify all of the writing systems of the world, plus many other symbols. Unicode and ISO/IEC 10646 are coordinated standards that provide code points for characters in almost all modern character set standards, covering more than 30 writing systems and hundreds of languages, including all commercially-important modern languages. All characters in
unicodeには、ひらがなやカタカナ等の文字グループがblockとして定義されており、perl ver.5.8以降では、このblock名称による正規表現が使用できるそうです。 http://blog.livedoor.jp/sasata299/archives/51194035.html http://module.jp/blog/regex_unicode_prop.html unicodeにおけるblock名称一覧 unicodeで定義されているblockは、次のurlに記載されています。 http://web.hc.keio.ac.jp/~fujimura/lang/unicode.html http://www.unicode.org/charts/ よく使うblockは数種類に限定できますが、半角カナや機種依存にはちょっと 日本語を扱う上で使用するunicode blockは、
perl は 5.8 から Unicode(utf-8) がサポートされました.5.6 でも Unicode に対応はしていましたが,ぜんぜん使い物にならず,ようやく 5.8 でまともに使えるようになったということです.ただせっかく使えるにもかか わらず perldoc などを見てもイマイチ使い方がわからないので,独自にまと めてみたのがこのページです. 誤った書き方や勘違いをしてい ることもあるので,形式的ですがこのページの内容は無保証です. 内容 文字コード変換 perlIO jperlからの移行 UTF-8フラグ 文字コード自動判別 Unicode Standard Unicode 正規化 その他 参考資料 文字コード変換 とりあえず perl5.8 で新しく組み込まれた機能を見るために,euc-jp から shift_jis への変換スクリプトをいくつか載せます. openを利用し
http://kjirou.sakura.ne.jp/mt/2008/10/python_unicode.html例えば、ユニコード型文字列の内、漢字のみ("一"〜"龥")をマッチさせる場合 l = re.findall(u"[\u4e00-\u9fa5]+", "ひらがな漢字カタカナascii".decode("utf-8")) print l[0].encode("utf-8") # -> "漢字" 他の言語と違ってUnicode型というデータ型があるので明瞭極まりない! (from http://kjirou.sakura.ne.jp/mt/) PythonはわからないけどPerlに通じるものを感じたのでPerlでやってみた。 まずは上記のコードに似せたパターン。スクリプトファイルはUTF-8で作成。 use strict; use warnings; use Encode; my
といった感じ。ちなみにjava.util.regexとPerlのUnicodeブロックは接頭子Inを使うが、.NETの場合は接頭子Isを使う、という差異があります。 Unicodeスクリプトとブロックの違いがビミョーに見えるけど、ブロックがコードブロックをゴリッと指定したものに対して、スクリプトは特定言語に関係する文字の種類を直接指定するものなのでブロックよりも断定的、って感じで見れば良かなと。ちなみにUnicode関連のドキュメントによるとUnicodeプロパティとスクリプトで日本語の文章を表そうとすると m/(?:(?:\p{Hiragana}|\p{Katakana}|\p{Han}|\p{Latin}|\p{Common}) (?:\p{Inherited}|\p{Me}|\p{Mn})?)+/x; こんな感じになるそうな。実際流通している文章はこれより多様なので現実とは微妙に乖離
http://www.unixuser.org/~euske/doc/python/sample.py.html # 日本語トークンを切り出すための正規表現。 JP_TOKEN = re.compile(u"[一-龠]+|[ぁ-ん]+|[ァ-ヴ]+|[a-zA-Z0-9]+") http://www.ascii.co.jp/pb/ascii/archive/aftercare/1999.html [亜-煕]はJIS漢字を検出するときに使う正規表現になります。 本文中で触れている「一太郎 Lite2」の正規表現はUnicode仕様なので,すべての漢字を検出するには,[一-龠]を使用してください(龠は音読みで「ヤク」,訓読みで「ふえ」,Unicodeでは「9FA0」にあたります)。 追記 ※「すべての漢字を取り出す正規表現」については、id:toton:20051105 に記事を追加しました。
原稿を落としたら,すしをおごりにアメリカに行かないといけないとの噂にgkbrしているid:hakobe932です. 932は草津の932です.こんにちは. ファイルの中身をすべて読み込む処理というのは,非常によくある処理です.TIMTOWTDIが信条のPerlでは,ファイルの中身をすべて読み込む方法もたくさんあります.ここでは,どんな方法があるのか見てみましょう. 行単位で読み込む もっともシンプルなのは行入力演算子(<>)を使って行毎にデータを読み込み,それを連結する方法です. open my $fh, '<', './inputfile' or die "failed to open: $!"; my $content = ''; while (my $line = <$fh>) { $content .= $line; } print $content; もう少し工夫して後置whil
メール送信のあれこれ たとえばウェブアプリケーションでなにかの注文を受け取ったとき、あるいはシステム管理ツールでなにか異常を発見したとき、ユーザや管理者にメールを送れるようにしたい、というのはよくある要件です。昔はヒアドキュメントやテンプレートエンジンなどを使って送信したいメールを用意したあと、sendmailへのパイプを開いてメールを流し込んでいたものですが、いまはメールの作成から送信まで、すべてモジュールを使って実現できるようになっています。 とはいえ、需要が大きいだけにメール関係のモジュールは山のようにあります。ディストリビューション(パッケージ)の数だけで500を数えますし、メール関係の名前がついたモジュールは現在CPANにアップロードされている7万以上ものモジュールのほぼ1割を占めるほどです。これではどれを使えばよいのかわからないという声があがるのも当然でしょう。 そこで今回はP
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く