タグ

perlに関するloungepのブックマーク (9)

  • 2行に渡るメールヘッダの正しい処理

    問題発生 長いメールヘッダの規定 MIMEの規定 正しいメールヘッダ復元の実装 問題発生 ある方より、メール投稿利用時に長い日語タイトルを付けると、途中に半角スペースが入ってしまうというバグ報告を受けました。 Subject: =?ISO-2022-JP?B?GyRCPmFHKz5hRys+YUcrPmFHKz5hRys+YUcrPmFHKz5hGyhC?= =?ISO-2022-JP?B?GyRCRys+YUcrPmFHKz5hRys+YUcrPmFHKz5hRys+YUcrPmFHKz5hGyhC?= のようにMIMEエンコードが長くなり空白が入ったときに、この空白がデコードされてもそのまま残ってしまうことが原因です。やっつけならこの空白を除去するだけで良いのですが、やっつけプログラムは最低なのできちんと調査してみました。 長いメールヘッダの規定 RFC 2822「Internet

    2行に渡るメールヘッダの正しい処理
  • regexp - で Apache Combined Log を Parse する : 404 Blog Not Found

    2013年02月09日22:30 カテゴリTipsLightweight Languages regexp - で Apache Combined Log を Parse する けだし同感。 ましてや Apache Combined Log を LTSV に を書いた後では。 combined2ltsv.plの最初のバージョンのparserはこうなっていました。 sub parse_line_ng { my $line = shift; my %rec; ( $rec{host}, $rec{ident}, $rec{user}, $line ) = split ' ', $line, 4; $line =~ s/^(\[.*?\]) //; $rec{time} = $1; $line =~ s/^\"(.*?)\" //; $rec{req} = $1; ( $rec{status},

    regexp - で Apache Combined Log を Parse する : 404 Blog Not Found
    loungep
    loungep 2013/02/10
    「しかしこれだけがんばっても、コードの簡潔さにおいても速度においてもLTSVにはまるでかなわないのです」
  • say no to system perl - システム標準Perlを使わないススメ - D-6 [相変わらず根無し]

    say no to system perl - システム標準Perlを使わないススメ 2011年4月30日 10:06 D | ブログ記事のURL | コメント(0) | トラックバック(0) LinuxMac OS Xを使っていれば、大抵の場合/usr/bin/perl などの位置にPerlが入っていますが・・・これらを使うのはやめたほうがいい、というのが段々定説になりつつあります。 厳密に言うと、別に簡単なスクリプトを書くのにシステム標準Perlを使うのは問題ないのだけれども、CPANからモジュールをインストールするつもりならシステム標準Perlを使わないほうがいいでしょう、という事ですね。 自分としてはシステムPerlを使わない理由はふたつある。 ひとつはシステムPerlはそれに依存するものがあるため、それに変更を加えると何かが壊れることがあること。例えばついうっかりモジュールのバ

    loungep
    loungep 2011/05/01
    「perlbrewなら複数のPerlを管理できるし、ユーザーの権限でperl本体やモジュールが入るのでsudoとかルート権限とか悩まないで済むし、自分だけが使うので知らないところで他の何かを壊す心配がぐっと減る」
  • Perlメモ/CGIモジュール - Walrus, Digit.

    フォームデコードなどの機能を持つ、CGI作成者のためのPerlモジュール。 CGIモジュールはHTMLやフォームの生成、フォームデータのパース、Cookieの取得と出力などの機能を持つモジュールです。 いささか重厚長大のきらいはありますが、CGI::Liteモジュールと異なりCGIモジュールは多くの環境でデフォルトインストールされていることなど、CGIモジュールを選ぶべき理由も多くあります。 CGIモジュールには多くのドキュメントが付属しています。 この内いくつかは、Perldoc.jpで和訳した文書を見ることができます。 http://perldoc.jp/docs/modules/ IBMのサイトには「便利なCGIスクリプト作成のためのヒント~CGI.pmモジュールを綿密に検討する」という文書があります。 いささか古いのですが、CGIモジュールを使ったファイルアップローダを検討するのに

  • CGI.pm を使ってみよう | futomi's CGI Café

    PerlCGI を開発するうえで役に立つ Perl モジュールはいくつもありますが、 その中でも有名なモジュールと言えば CGI.pm でしょう。 かつては Perl5 に標準モジュールとして組み込まれていた定番モジュールです。 しかし、Perl による CGI 開発が少なくなってきたという動向も影響したせいか、 最新の Perl5 では標準モジュールから外されてしまいました。 しかし、いまなお、多くのレンタルサーバーで利用することができます。 記事では、CGI.pm の基的な使い方を解説します。 また、もし最新の Perl5 の環境で CGI.pm がインストールされていないレンタルサーバーでも、 CGI.pm を組み込む方法についても解説します。 目次 CGI.pm のバージョンアップに伴う変化 前述の通り、かつて CGI.pmPerl5 の標準モジュールでした。 その

    loungep
    loungep 2010/03/19
  • メールの送信 - モダンなPerl入門 - モダンなPerl入門

    メールを送信する メールを送信するのには Email::Send をつかいます。 つかいかた use strict; use warnings; use utf8; use Encode; use Email::MIME; use Email::MIME::Creator; use Email::Send; # メールオブジェクトをつくる my $mail = Email::MIME->create( header => [ From => 'from@example.com', To => 'to@example.com', Subject => Encode::encode('MIME-Header-ISO_2022_JP', 'コンニチワ'), ], body => encode('iso-2022-jp', '元気でやってるかー?'), ); # Email::Send で送信する

  • 第20回 Email::Sender:メールを送信する | gihyo.jp

    メール送信のあれこれ たとえばウェブアプリケーションでなにかの注文を受け取ったとき、あるいはシステム管理ツールでなにか異常を発見したとき、ユーザや管理者にメールを送れるようにしたい、というのはよくある要件です。昔はヒアドキュメントやテンプレートエンジンなどを使って送信したいメールを用意したあと、sendmailへのパイプを開いてメールを流し込んでいたものですが、いまはメールの作成から送信まで、すべてモジュールを使って実現できるようになっています。 とはいえ、需要が大きいだけにメール関係のモジュールは山のようにあります。ディストリビューション(パッケージ)の数だけで500を数えますし、メール関係の名前がついたモジュールは現在CPANにアップロードされている7万以上ものモジュールのほぼ1割を占めるほどです。これではどれを使えばよいのかわからないという声があがるのも当然でしょう。 そこで今回はP

    第20回 Email::Sender:メールを送信する | gihyo.jp
  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro
  • perlメールフォームで文字コードUTF-8のテンプレートを使う|TONTTU.NET 群馬県 太田市

    perlのソースコードはEUCで書くこととされていますが、現在はなにかとUTF-8を使いたいものです。perl5.8以降はunicode対応もされているようですが、perl5.6.1で対応したメモです。 概要 ・メールフォームを作る ・HTML::Templateテンプレートライブラリを使う ・複数のページに共通したテーマを使う ・メール文に投稿内容を代入するのにテンプレートを使う ・jcodeおよびJcode.pmは使わない ・Unicode::Japaneseを使う ・投稿内容のパースにcgi-lib.plを使う ライブラリを読み込みます (サーバーにライブラリがインストールされていれば不要です) CPAN等からライブラリを入手し、「lib」フォルダなどを作って配置します。 use lib '(libへのフルパス)'; use HTML::Template;

  • 1