nDiki : LF
Related term
2004年1月25日 (日)
■ [ WiKicker ] 通知メールの Subject: フィールドのエンコーディング修正

WiKicker には通知メールの Subject: フィールドがたまに壊れている問題があるのだが、ずっと放置しておいたままだった。 そろそろ次のバージョンをリリースしたいと思うので、今回修正しておく。
結果半日かかってしまった。
@ MIME::Words::encode_mimewords
まず現在エンコーディングに使っている MIME::Words::encode_mimewords (5.404)であるが、マニュアルを見ると charset によってはマズいエンコーディングを吐くらしい。 WiKicker で Subject: ヘッダが壊れるのも、この問題のせい。 文字境界を無視してぶったぎってエンコードされてしまう。 ということで、自前でエンコードする事にする。
@ 自前エンコーダ
まぁたいしたものではないが。 最初はエンコードする必要のある部分だけ encoded-word にする事も考えたのだが、面倒なのでやめ。 全部エンコードしてしまう事にする。 エンコーディングも最初は、"Q" encoding で実装しはじめたのだが(MIME::Words のデフォルトがそうなので、WiKicker でもそれを使っていた)ちょっと面倒なので、"B" encoding に変更。
@ タイトルの途中に空白が入ってしまう?
で、テスト。うーん。途中に余分な空白が入ってしまうな。 mew で受信したメールを見ると folding のところで余分な空白が入って表示される。 RFCとか見ても encoded-word に挟まれた CRLF SPACE は無視されるはずなんだけれどなぁ。
UTF-8 の代わりに ISO-2022-JPにしてみたりとか、エンコーディングを変えてみたり(Q or B)したのだが変わらず。 他から受けとっているメールは問題ないから、mew の問題でもなさそうだし。
ん? mew の inbox を確認してみると、他のソフトからのは \n, space でフォールディングされているな。 今書いているコードから送ったやつは \r\n, space でフォールディングされている。 RFC的には CRLF space では?
@ 問題は別のところに
WiKicker で \r\n, space でフォールディングしているところを \n, space でフォールディングするようにしたら直る。 けど、これでいいのかな?
って良く考えたら、他の部分はヘッダでも本文でも改行には \n を使っているんだった(Perl のヒアドキュメントを使っているので)。 ということは今まで、それを標準入力から受けとった sendmail が LF を CRLF にしてくれていたのか。 あまり深い事考えてなかったな。 今回はフォールディングのところだけで CRLF にしたため 一個余分に CR がついてしまい、それがタイトルの文字列中の空白として表示されてしまったと。
結局疑うべきは自分のコード。
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- Perl で CR/LF/CRLF 全対応の1行毎読み込み処理 (2006-07-28)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- [ DiKicker ] くっつき BBSをくっつけてみた。 (2004-05-04)
- 定型書式で内容を記述していくのに便利な形式は? (2005-11-21)
2005年1月8日 (土)
■ NSIS が再び Linux でコンパイルできるように

2.01 で POSIX プラットフォームで動くようになった NSIS であるが、2.02、2.03 は Linux上ではソースパッケージからのビルドでエラーになってしまっていた。
1月5日に 2.04 がリリースされたので、こちらも試してみる。お、ビルドできた。
tar jxvf nsis204.tar.bz2 cd NSIS/Source make USE_PRECOMPILED_EXEHEADS=1 cd .. su ./install.sh /usr/local/NSIS-2.04
インストール時に Menu ディレクトリが無くてエラーメッセージが出るのは前回と一緒。CVS リポジトリをみるとHTMLで書かれたドキュメントがあるだけのようなので、無くても問題なさそうである。 付属の install.sh も改行コードが CRLF から LF に修正されているためそのまま実行できるようになった。
[ Linux 上で NSIS ]
- Linux 上で Windows 用インストーラを作成する (2004-10-14)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- sid の CinePaint がプラグイン読み込みでエラー (2006-04-15)
- ActivePerl で Ming (2005-02-23)
- [ Perl ] PDL::PP で C extension を書く (2004-02-19)
2006年7月28日 (金)
■ Perl で CR/LF/CRLF 全対応の1行毎読み込み処理

Perl プログラムでテキストファイル処理を 改行コード CR/LF/CRLF 全対応にしようと思ったが、書こうとするとこれが結構面倒臭いことに気がつく。
$/ に正規表現が設定できないため、<FILEHANDLE> で単純に3パターン対応ができない (LF と CRLF に対応とかならすぐできる)。
小さいファイルと仮定して良いなら全部読み込んで自前で行分割、大きいファイルならまじめにバッファリングして改行コードをスキャンして行処理するのが正攻法かな。 多少効率悪くなりそうだけれど。
@ Pod::Html (1.0504) の場合
Perl 5.8.8 の Pod::Html (1.0504) だと pod2html の中で $/ = "" と設定して、パラグラフ単位で読み込んでそのあと処理している。
@ PerlIO レイヤー
最近の Perl であれば PerlIO::crlf、 PerlIO::eol あたりが使えそうである。
もちろん Perl 5.005_03 だと NG。
- [ WiKicker ] 通知メールの Subject: フィールドのエン... (2004-01-25)
- 第6回 社内 Perl 勉強会 (2006-06-05)
- ドキュメンテーション大全 (2006-02-15)
- Perl 用の doxygen のようなツールはないのかな (2006-07-25)
- mixipress でコミュニティ掲示板もチェック (2005-10-01)
スポンサード リンク
Related web page
PerlでOOなコード書く時のコンテキストを取る方法は色々あります、最近audreyがse<strong>lf</strong>varsをリリースしたので、gugodのse<strong>lf</strong>.pmとingyのSpiffyそして、既存のmy $se<strong>lf</strong> = shift;やshift->や$_[0]->で$se<strong>lf</strong>を取る方法それぞれのベンチマークを取ってみました。 テストコードのモジュール名は、それぞれのモジュールの作者名から取り、既存の手法はYAPC::Asiaでプレゼンした事のある日本を代表するPerlhttp://blog.yappo.jp/yappo/archives/000552.html
マクさんとこで知ったスターウォーズTNGというソフト。 これおもしろいというかスゴ過ぎ! 作り方も簡単だし、プレビューもあるのでわかりやすい。書き出されるのが画像が1枚1枚(パラパラ漫画)ですが、QuickTimeでファイルメニューから「イメージシーケンスを開く」を選択し、スターウォーズTNGで設定したフレームレートを選択すればムービになるので、そのままムービーとhttp://alfabeat.ciao.jp/2007/01/post_240.html
Compilers へえ。ドラゴンブックの新版? "21st Century Compilers" だそうです。 via http://www.kmonos.net/wlog/64.html#_1452060831 ;---------------------------------------------------------------------http://d.hatena.ne.jp/textfile/20060831/dragon
NTTは9月26日,任意の時点のデータを復元できるLinux用ファイル・システム「NI<strong>LF</strong>S(ニルフス)」をオープンソース・ソフトウエアとして公開した。NI<strong>LF</strong>Sは,ファイル・システムのスナップショットを,自動で連続して取得できるファイル・システム。「システムが異常停止しても,すぐに停止直前の状態に戻して再開できるため,Linuxシステムの信頼性が大幅に向上する」(NTT)とhttp://itpro.nikkeibp.co.jp/article/NEWS/20050926/221668/
ドトールの向かいに座った白人のおじさんの顔の迫力と言ったら、もう尋常じゃなかった。顔が大きいというのもあるんだけど、刻まれた深い皺に男の苦悩と官能があるっつーか。花粉症で顔中ぐじゅぐじゅになってたっぽい感じもしましたが。残念ながらスケッチ始めて間もなく、席を立たれてしまったので、うろ覚えで補完。最後まで描ききりたいと思わせる大迫力の顔でしhttp://takehit.kir.jp/blog/archives/cat4/
リサイタルとコンサートの違いは?http://nori333.homeip.net/diary/?20050416
プログラミングを独習するには10年かかるhttp://www.yamdas.org/column/technique/21-daysj.html
■よく検索されるキーワード
torrent(56) 提案書(47) perl(45) windows(37) linux(31) 使い方(27) 書き方(25) debian(22) x31(22) usb(22) cvs(20) subversion(20) インストール(18) ドラマ(18) c#(17) mp980(17) svn(17) 修理(17) 手帳(16) ssh(15) 評判(15) アジェンダ(15) java(15) デロンギ(14) ガントチャート(13) 感想(13) n-01a(13) centos(13) tc-1(13) 充電式カイロ(13) ノート(12) ダイソー(12) thinkpad(12) rcs(12) f-01a(12) ヤマダ電機(12) ganttproject(12) 無印(11) ppm(11) レビュー(11) カイロ(11) 壁紙(11) 静電気(10) 動画(10) バッグインバッグ(10) ヨドバシカメラ(10) サンプル(10) アジェンダとは(10) wiki(10) ミノルタ(10) グッズ(10) 作り方(10) tortoisesvn(10) firefox(9) so905ics(9) memcached(9) 画像(9) gmail(9) ハクキンカイロ(9) 口コミ(9) a6(9) sh-01a(9) 冷蔵庫(9) ほぼ日手帳(9) mp3(8) emacs(8) 日本語(8) openssh(8) xampp(8) カメラ(8) nikon(8) 設定(8) 写真(8) 値段(7) flash(7) 方眼(7) web(7) docomo(7) カバー(7) リポジトリ(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.262835s / load averages: 0.32, 0.42, 0.40
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク