タグ

perlに関するRIKKUNのブックマーク (260)

  • 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 の標準モジュールでした。 その

    RIKKUN
    RIKKUN 2014/05/31
  • 無精で短気で傲慢なプログラマ perl+DBI プログラムの鉄則 - RaiseError と AutoCommit

    perl+DBI プログラムの鉄則 のつつき。 鉄則その 1. my $dbh = DBI->connect($dsn, $user, $password, {RaiseError => 1, PrintError => 0, AutoCommit => 0 }); connect 時にするべきこと。 RaiseError は ON にする。そうすれば DB の処理でエラーが発生した ときに勝手に die してくれる。いちいちエラーチェックをする 必要もなくなるし、エラーチェック漏れも起こりえない。楽できるのに、 なおかつ質も向上する。プログラマたるもの、怠惰でなくてはならない。 デフォルトでは PrintError が ON で RaiseError を OFF になっている。 RaiseError を ON にするとエラー発生時にエラーメッセージがダブって 表示されてしまうため、Pri

    RIKKUN
    RIKKUN 2014/03/28
  • #22 カジュアルに乱数を使う方法とその注意点 - KAYAC Engineers' Blog

    この記事はtech.kayac.com Advent Calendar 2012の22日目です。 @songmuです。ゲーム作ったりしてると、乱数が必要になってきますがそれについて書きます。 多くの人にとっては当たり前の話も多く出てくるかと思いますがご容赦ください。間違ってる記述があった場合は突っ込みください。 擬似乱数とは何か 計算機は単体では厳密な意味での乱数を生成することができません。実際には一様に分布する乱数の集合を算術的に求めている場合がほとんどです。 その乱数の集合は以下を満たす必要がありますが、そういう小難しいことは偉い人に任せて、巨人の肩に乗って解決してしまえば良いでしょう。 偏りがなく一様に分布している 途中の出力から未来が予測しづらい 高速に算出できるか つまり? 色々な疑似乱数生成法がありますが、多くの場合、 馬鹿でかい乱数の循環リストがある と考えるとわかりやすいで

    #22 カジュアルに乱数を使う方法とその注意点 - KAYAC Engineers' Blog
    RIKKUN
    RIKKUN 2014/02/11
  • 「Padre」でPerlのコードを実行するとコマンドプロンプトが起動する | 教えて君.net

    Perlの実行環境として、もっとも手軽なのが「Padre」。コマンドプロンプトを使わなくなても、メモ帳から直接コードを実行できるので、Perlを試してみたい初心者にも最適。しかし、実際に使ってみると何故かコマンドプロンプトが起動してしまう。 「Padre」はPerl専用のテキストエディタ。書き込んだコードを実行するとツール内の「出力」タブに結果を出力することができる。コマンドプロンプトよりも敷居が低いのが魅力だが、いざ使ってみるとやっぱりコマンドプロンプトが起動する。これは初期設定では外部のウインドウを利用する項目が有効になっているためだ。「設定」から項目を無効にすれば、「出力」タブが利用できるようになるぞ。 ■ 「Padre」でPerlの出力結果をタブに表示する 「Padre」を公式サイトから「DWIM Perl 」をダウンロードし、インストール。起動したら、さっそくテスト用のコマンドを

    「Padre」でPerlのコードを実行するとコマンドプロンプトが起動する | 教えて君.net
  • perl - func(tion()) considered harmful? : 404 Blog Not Found

    2014年02月02日17:15 カテゴリTipsLightweight Languages perl - func(tion()) considered harmful? 初めてのPerl 第6版 Randal L. Schwartz / Tom Phoenix / brian d foy / 近藤嘉雪訳 [原著:Learning Perl, 6th ed.] 久々のPerlの話題です。 きっかけは、これはEncodeのバグではないかという指摘を受けたこと。 #!/usr/bin/env perl use v5.12; use warnings; use utf8; use Encode qw/find_encoding/; use CGI qw/escapeHTML/; my $enc = find_encoding('UTF-8'); my $q = CGI->new("E=MC2"

    perl - func(tion()) considered harmful? : 404 Blog Not Found
    RIKKUN
    RIKKUN 2014/02/03
  • ゆーすけべー日記

    え〜とあるアプリのバックエンドを僕一人が書いてるのですが、 さすがにキツくなってきたので大工事をして「楽に」分業出来るようにしています。 その構成はちょいと置いといて〜 ウマく行けば「とある部分」を誰かに任せることになりますよね。 すると「弊社は(そのための)エンジニア募集中です!」という展開をご期待かもしれませんが、 もう既にアサインが済んだので「弊社はエンジニアを募集しておりません!」すいません... m(__)m 来ならばその「とある部分」の実装においては僕がメインで使っているPerlじゃなくても、 PHPでもRubyでもPythonでもなんでも良かったのですが、 当の担当する方が「Perl書けます」とのことで「じゃあPerlでいこう」という展開になってます... ただ、全然、彼のスキルセットをまだ分かってないので、これから話すという段階なんすよね... そこで、僕、人事的なことと

    ゆーすけべー日記
    RIKKUN
    RIKKUN 2013/10/04
  • YAPC::Asia Tokyo 2013 1日目レポート[更新終了] | gihyo.jp

    19日から21日までの3日間、慶応大学日吉キャンパス 協生館にて「YAPC::Asia Tokyo 2013」が開催されます。昨日は前夜祭で、日は1日目ということになります。ここでは、1日目の模様を随時レポートしていきます。 ※すべてのセッションをレポートするわけではないことにご注意ください。 受付は、藤原洋記念ホール前に設置されています。 オープニング JPA運営事務局長の櫛井さんから、オープニングの挨拶です。今年の企画として、次のものを案内しました。 遠方からの参加者支援制度 懇親会無料化 ランチセッション ランチ交流企画(くじを引いて4人一組のチームが決まる。抽選でお弁当ももらえる) BOF・交流スペース(アンカンファレンス等で利用もOK) Perl入学式 参加者には、「⁠トークを楽しむ」「⁠Perl Hacker達との交流」「⁠ベストトーク賞への投票」を挙げ、今年もYAPC::A

    YAPC::Asia Tokyo 2013 1日目レポート[更新終了] | gihyo.jp
  • ソート済みのテキストファイルを二分探索で高速検索する Perl 標準モジュール「Search::Dict」

    ソート済みのテキストファイルを二分探索で高速検索する Perl 標準モジュール「Search::Dict」 2013-08-01-1 [Programming][Algorithm] Perl の標準モジュール Search::Dict は、ソート済みのテキストファイルを対象に、二分探索でキーワードと各行の前方一致を調べ、マッチした行を取り出すという、高速検索モジュールです。インデックスの作成は不要。詳しくは、 perldoc Search::Dict で! ソースを見比べてはないけど仕組みはUNIX系コマンドの look と同じかと。 で、さっそくサンプルプログラム。 searchdict.pl #!/usr/bin/perl use strict; use warnings; use Search::Dict; my ($key, $fn) = @ARGV; open(my $fh,

    ソート済みのテキストファイルを二分探索で高速検索する Perl 標準モジュール「Search::Dict」
    RIKKUN
    RIKKUN 2013/08/03
  • とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual

    今年の Advent Calendar もいよいよ中盤戦。 もういくつ寝ると、メリーク×ト×ス! 最近、休日になると漫画を大人買いするのが趣味になってしまったいけない大人になってしまった僕ことzentoooですが、最近のお気に入りは「未来日記」です。あー由乃かわいいなーかーわいいなーーーかーーーわいーなあーーーーあーあーあーーーーーーあーーーーーーーーーーー頭おかしいけど。 ふぅ。 さて、みなさん、コード書いてますか、コード読んでますか。 短く簡潔なコードを読むと、気持ちもスッキリしますね。 でも、たまには例外処理なんてどうですか。 Perlで例外処理ができるなんて、なんか渋くないですか。 Perlにおけるベーシックな例外処理 冗談はさておき、初めてのPerlというハレンチなを読んだりすると、多分書いてあるのは以下のような方法による例外処理です。実際に初めてのPerlに書いてあるかどうか

    とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual
    RIKKUN
    RIKKUN 2013/07/22
  • Perl の eval で Java の try〜catch を実現したい場合に注意すること - bit

    Java などの try〜catch 構文を Perl で実現するには、eval() 関数を使えばよいというブログを見かける。 間違ってはいないのであるが、陥りやすい罠がある。プログラムを組む上で、エラー処理は非常に重要なので、ここに記載しておくことにする。 例として、Java でファイルを一行ごとに読み込むプログラムを考える (try〜catch と言いながら、catch がないけどイメージは伝わるはず)。 BufferedReader fromFile = null; try { fromFile = new BufferedReader(new FileReader(..)); while(true) { String line = fromFile.readLine(); if (line == null) { break; } ..(省略).. } } finally { if

    Perl の eval で Java の try〜catch を実現したい場合に注意すること - bit
    RIKKUN
    RIKKUN 2013/07/22
  • perlで、現在UNIXで動いている全プロセスを得る関数はないですか?…

    perlで、現在UNIXで動いている全プロセスを得る関数はないですか?UNIXコマンドのps auxで得られるリストのようにです。 system関数を使うのはなしでお願いします。それ以外ならどんな方法でも構いません。よろしくお願いします。

    RIKKUN
    RIKKUN 2013/07/18
  • layer8.sh

    This domain may be for sale!

    RIKKUN
    RIKKUN 2013/07/18
  • ゆーすけべー日記

    __papix__ 君が主催をして開催している Perl入学式 というイベントがあります。Unix/Linux/OSXの環境構築から始まり最終的にはWebアプリケーションをつくるハンズオン形式の勉強会を今年は年6回に分けて開催しているようです。かなり丁寧にPerlを教えているという印象があって、それがどんな雰囲気か以前から気になっていたのですが、昨日「Perl入学式 in 東京 #2」にサポーターとして途中から参加させてもらいました。 簡単に感想を述べると「これはすごくいい」。肝は最適な練習問題が所々出され、するとみんな黙々とコーディングし始めるんだけど、それが終わると、参加者同士でコードを見せ合って「これで合ってるかな?」「私はこんな風に書いたよ」と言うようなコミュニケーションが生まれてたりしているのです。正直その様子を見て感嘆しましたよ。 *追記「Perl入学式の補講があるらしいよ!」

    ゆーすけべー日記
    RIKKUN
    RIKKUN 2013/06/30
  • ゆーすけべー日記

    依然としてPerlのWeb Application Framework=WAFは Mojolicious推し です。ボケてほどの大きなトラフィックを集めるようになったサービスでも使っている実績がありますし、自分で使っていてたまにバージョンアップの互換性で問題が出るくらいで、すっごく困った事が無いので重宝しております。今回は備忘録的な意味も兼ねて、Mojoliciousをある程度使用した時に便利なTips 8個を個人的にまとめてみます。え、何?「Mojoliciousっていったいどういうものなの?」「Mojoliciousって名前を聞いた事があるけれど使った事がないんだけど...」そんな方は9月に開催されるYAPC::Asia 2013で僕が入門チュートリアルな発表をやろうと企んでいるので、そちらへ足を運んでください!ちなみにトークはまだacceptされたわけではないので、以下のページのソー

    ゆーすけべー日記
  • softuses.com

    RIKKUN
    RIKKUN 2013/04/23
  • 文字コード変換ミスによる文字化けパターンと想定される原因 - drk7jp

    とあるシステムでデータベースから引いてきたデータの表示が文字化けするという不具合がありました。 データベース内のデータとしては文字化けしていない状態で格納されていることはわかっていたので、どこかしらの文字変換で化けていることはわかっています。まずはどの誤変換により文字化けするのか原因切り分けのために、decode/encode の組み合わせによる文字化けパターン一覧を作りました。おかげさまでどのパターンに類するものか判別することができ、無事に改修することができました。 その話はまた別にするとして、今も昔も変わらず文字化けに悩む人は意外と多いと思います。誤変換結果一覧は原因解析の参考になると思い、記事としてまとめることにしました。 文字コード変換ミスによる文字化けパターンを可視化するプログラムと一覧表 まずは誤変換を生成する perl スクリプトです。プログラムはとっても簡単で、「文字化けで

  • perl - boolean best practice : 404 Blog Not Found

    2013年04月01日18:45 カテゴリTipsLightweight Languages perl - boolean best practice 業務に役立つPerl裕紀 とりあえず含蓄は後回しにして、以下同感。 ああこの変数は真偽値として扱ってるけど boolean というのはないんだったと JSON::XS::true とか使うんだけど、だんだんそれを変換するのが面倒になって、どうせ JSON 使うだろと思って横着して MyApp::true = JSON::XS::true みたいにエイリアスはって中でも JSON::XS::true を持たせてみたりして、そうしたら Perl の MongoDB ライブラリにおける真偽値 は Ingy さんのほうの boolean なのでやっぱり横着しちゃだめだなあ、とかそういうのをみると2013年になにをしているんだろうという感は強い

    perl - boolean best practice : 404 Blog Not Found
    RIKKUN
    RIKKUN 2013/04/02
  • Text::CSV で Error 2032 が出たときの対処方法

    久々に Perl を使って csv ファイルの処理を行いました。 カンマ区切りの csv ファイルや、タブ区切りの tsv ファイルを扱うにあたって、単純に split 関数を使って文字列を区切る処理では、各フィールド内にカンマやタブが混入したデータの場合に正常に切り出せません。 散々既出だと思うので、あえて今更説明するまでもないと思いつつも、簡単な実例を交えて説明してみます。具体的には下記のようなプログラムでは、期待するフィールドに切り出すことができません。 use Data::Dumper; my $line = qq{"aaa,a","bbb,b","ccc,c"}; print Dumper split /,/, $line; 期待する結果は、"aaa,a"、"bbb,b"、"ccc,c" の3カラムに切り出したいところですが、下記のように意図しない区切りで切り出されてしまいます。

    RIKKUN
    RIKKUN 2013/03/14
  • perl - 最速のUTF-8処理法 : 404 Blog Not Found

    2013年03月04日14:45 カテゴリTipsLightweight Languages perl - 最速のUTF-8処理法 Perl Cookbook (English, Kindle Ed.) Christiansen / Torkington [邦訳: Perlクックブック] というわけで解説。 2013/03/04:Unicode::UTF8 がガチ爆速すぎる - bayashi.net encode より decode のが差が大きい感じ。encode だけだと、文字列長くなると Encode の方が速いっぽい。 まずは改めて検証してみましょう。 https://gist.github.com/dankogai/5079930 確かにその通りになっています。Unicode::UTF8はEncodeはおろかPerl組み込みのutf8::decodeより高速なのか(文字列をコピ

    perl - 最速のUTF-8処理法 : 404 Blog Not Found
    RIKKUN
    RIKKUN 2013/03/07
  • perl - soloで任意のコマンドを期限付きで排他実行する : 404 Blog Not Found

    2013年02月27日20:45 カテゴリTipsLightweight Languages perl - soloで任意のコマンドを期限付きで排他実行する Perl Cookbook (English, Kindle Ed.) Christiansen / Torkington [邦訳: Perlクックブック] solo という名前の perl script を、App::solo という名でリリースしました。 dankogai's p5-app-solo at master - GitHub プロセス間の期限付き排他ロック - (ひ)メモ プロセス間の排他的実行を制御したい 一定時間経過したら実行できるようにしたい これに対する別解答です。 以下、PODの抄訳。 NAME solo - run only one process up to given timeout. SYNOPSIS

    perl - soloで任意のコマンドを期限付きで排他実行する : 404 Blog Not Found
    RIKKUN
    RIKKUN 2013/02/28