タグ

perlに関するatm_09_tdのブックマーク (168)

  • @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual

    こんにちは。最近は PHP ばっかり書いている、永遠の Perl 初心者 hatyuki です。 とつぜん質問ですが、みなさんが最も多くみている Perl のエラーはなんですか? 自分の場合は、う〜ん。。。 Can't locate Hoge.pm in @INC (@INC contains: ~~~~ .). BEGIN failed--compilation aborted. かな?いつまでも進歩がないのが伺えますね! 皆さんご存知の通り、このエラーは "@INC" で指定されたディレクトリの中にモジュールが見つからなかった場合に発生するエラーです。つまり、モジュールをインストールし忘れているか、モジュールがどこに置いてあるのかを適切に設定していないか、の (およそ) どちらかですね。 さてさて、Casual Perler な皆さんは、このエラーを回避するためにどんな方法を使って @

    @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual
  • DBIx::ObjectMapperでData Mapperパターン! - Articles Advent Calendar 2010 Hacker

    こんにちわ。nekokakさんをはじめ#dbi-ja@irc.perl.orgのPerlハッカーのみなさまにムチャ振り声をかけていただき、突然hacker trackで書くことになりました。eisukeoishiともうします。はじめまして。 今回は、私が作成したDBIx::ObjectMapperというO/Rマッパーについて紹介させていただきます。 DBIx::ObjectMapperとは みんな大好きな「PofEAA」のData Mapperパターンを実装したものです。 Data Mapperパターンをごく簡単に説明すると、データベースやO/Rマッパーに依存せずにオブジェクトをデータベースと連携させるためのものです。 DBIx::ObjectMapperで使用するクラスはPOPO(Plain Old Perl Object)であり、O/Rマッパーだけで使用する必要もありません。 他言語で

    DBIx::ObjectMapperでData Mapperパターン! - Articles Advent Calendar 2010 Hacker
  • Perl から Growl をちゃんと使おう - Articles Advent Calendar 2010 Hacker

    こんにちわ。Growl 大好きっ子 typester です。 重たいバッチジョブを走らせている間、別の作業をする。ジョブが終わったらデスクトップに Growl を表示させて処理の完了を知る。 その合間にもRSSから配信されたニュースや自分への Mention を Growl 表示し、あっという間に情報を操作する。 誰もが憧れる Hackish な作業風景ですね。Mac ユーザであればその他の活用方法を知ってる人も数多くいるでしょう。 でもperlbrewで64bit perlいれてるからMac::Growlがうまくインストールできないし... そんな風に思っていた頃が僕にもありました。 Cocoa::Growl http://search.cpan.org/dist/Cocoa-Growl/ そんな不満を打破するべく僕は Cocoa::Growl を書いた。 XS で Objective-

    Perl から Growl をちゃんと使おう - Articles Advent Calendar 2010 Hacker
  • Perl で拡張可能なモジュールをかくときに s/^\+// ? $_ : __PACKAGE__ . '::Plugin::$_' とした方がいい理由 - tokuhirom's blog

    Data::Validator のコードの中にこんなのがあった。 sub with { my($self, @roles) = @_; foreach my $role(@roles) { next if ref $role; $role = Mouse::Util::load_first_existing_class( __PACKAGE__ . '::Role::' . $role, $role, ); } Mouse::Util::apply_all_roles($self, @roles); return $self; } この場合、やはり s/^\+// ? $_ : __PACKAGE__ . '::Plugin::$_' のイディオムをつかった方が問題がすくないようにおもう。たとえば、Data::Validator::Role::JSON っていう拡張があったとしよう(実際に

  • Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual

    こんばんは。tumblr がサーバーダウンするとネット呼吸が出来ないotsune (Facebook - otsune) です。 jp.blogs.com|おもしろブログ記事のまとめサイトというサイトで、ネットウォッチ中に見かけた興味深いWebページのURLを美人編集長上野さんにたれ込むという趣味的行為をしているんですが。困ったことにURL集計にGoogle Docsの表計算の複数人編集機能を使ってて、1-clickどころかブラウザひらいてマウスでカチコチと気の長くなるほどメンドクサイ手順を踏まないとURLを貼れないという、CUIGUIのあいだに横たわる深くて長い天の川があったりしてシンドイわけです。世間でもよくある話ですね。 そんなわけでめんどくさいことはPerlのようなものにやらせればいいのよってことで、今日は飲み会のヒーローlopnorさんが書いたNet::Google::Spre

    Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual
  • Win32::GUITest と Win32::Clipboard で GUI 操作を自動化する - Articles Advent Calendar 2010 Win32

    こんにちわ。のどの痛みと熱でだいぶ体がだるい上に、開けていないフィギュアの箱を思いっきり踏んでしまって軽く凹んでいる xaicron です。 今日紹介するモジュールは Win32::GUITest というとってもナイスなモジュールです。 これの詳しい説明は、その昔に amachang が書いていますのでそちらを見るのが良いかと思います。 簡単にいうと、window 名から window を取得したり、キーボード入力やマウス入力をエミュレートしてくれる便利なやつです。 普段は、iTunes や foobar2000 を愛用していますが、たまに楽曲情報が見つからなかったりするときに、割と簡単に gracenote に情報を登録できるので SonicStage を使ってます。(最近、X-Application とかいう名前に変わってしまったみたいですが) しかし、これのインターフェースってまぁ当

    Win32::GUITest と Win32::Clipboard で GUI 操作を自動化する - Articles Advent Calendar 2010 Win32
  • 記号だけのPerlプログラミングの基本原理 - Articles Advent Calendar 2010 Sym

    こんにちは。[/articles/advent-calendar/2010/casual/3:title=casual track 3日目]でも書かせていただきました、sugyanです。記号プログラミングはPerlくらいしかわからない素人ですが頑張って書いてみようと思います。よろしくおねがいします。 今日はPerlで記号プログラミングをするための基礎知識を説明します。Acme::EyeDropsでも使われているテクニックです。 ■Step1. アルファベットの変換 記号だけでPerlプログラムを書きたい! というとき、最も邪魔なのがアルファベットですね。まずはこれらをどうにかして記号だけで表現しましょう。 Perlの文字列は2つの文字列の論理演算で表現することができます。例えば 'A' という文字はASCIIコード0x41ですね。これをASCIIコード0x60の '`' と0x21の '!

    記号だけのPerlプログラミングの基本原理 - Articles Advent Calendar 2010 Sym
  • Perl開発専用のIDE·Padre MOONGIFT

    PadreはPerl製のオープンソース・ソフトウェア。Javaの開発というとEclipseやNetBeanを使ったり、.NETであればVisualStudioを使うなどIDEを使うことでより手早く開発が行えるようになる言語がある。いわゆるスクリプト系のプログラミング言語ではあまりIDEを用いるという文化は浸透していないように思える。とは言えテキストエディタを素のままで使うかというとそんなことはなく、ハイライト表示すると開発しやすくなるだろう。 Perl開発に適したIDE もしあなたがPerlでシステム開発を行っているなら、Padreを使ってみよう。PadreはPerl専用のIDEで開発をやりやすくする工夫が盛り込まれているソフトウェアだ。ハイライト表示はもちろんのこと、コード補完やCPANライブラリのインストールもできるようになっている。 セッションの保存、コメントのトグル、文字コード変換

    Perl開発専用のIDE·Padre MOONGIFT
  • perl向けのemacs設定 - メメメモモ

    今まではemacsの設定を最低限のものにしていたのですが、やはり生産性というものを上げようと考えた時に、エディタの便利な機能は使いこなしておいた方がいいのかな、と思いました. そのとっかかりとして下記のtypester先生の資料で紹介されている拡張と設定を行ないました。これは前々回のCasualPerlのスライドですね。 http://typester.stfuawsc.com/slides/perlcasual2/start.html 割と手間取ってしまったので、設定メモ。 emacsのアップデート さっそく設定をインストールしようとしたら、失敗しまくり。 その原因がemacsのバージョンでした。 「21.x.x」を使っていました。 現在のEmacsのバージョンは「23.x.x」なので、インストールし直しました。 これで後述の「auto-install.el」が正常に動作するようになりま

    perl向けのemacs設定 - メメメモモ
  • 第4回 Twitterから学ぶ、Web APIのキホン(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はゆーすけべーこと和田裕介さんで、テーマはWeb APIです。 はじめに 連載「Perl Hackers Hub」では、ハッカー向けの話題以外にも、ハッカーによる初歩的なテーマも扱っていきたいと思います。今回のテーマはWeb APIで、Twitterを題材に解説していきます。Web APIPerlでアプリケーションを作るうえで知っておきたい知識の一つですので、基と共に実践的なモジュールの使い方まで解説します。また、特にPerlに限らない内容も登場しますので、Perlを触ったことのない方でもWeb APIを触るコツをわかってもらえれば幸いです。 巨人の肩の上に立つ 「巨人の肩の上に立つ⁠」⁠。この言葉は、かのアイザック・ニュートンが手紙の中に書いた一文と言われていて、最近ではGoogleの論文検索のページにも引用されて

    第4回 Twitterから学ぶ、Web APIのキホン(1) | gihyo.jp
  • Perlの開発環境構築メモ - hide-k.net#blog

    最近、社内で初対面の人に自己紹介すると「あ!twitterでfollowしてます。AKB好きな方ですよね?」と辱めを受けてることが多くて色々反省しています。 こんばんは。 先日、会社で新しいMac Book Airを支給されて開発環境を再構築して、せっかくの機会だったので自分の環境をメモりました。 YAPC::Asia 2010でtokuhirom氏の「モダンな Perl5 開発環境について」で大きく取り扱われたり、あちらこちらで散々エントリされていますが毎回ぐぐるのも面倒なのではっときます。 0. 下準備 gccや各種ライブラリが必要なので何はなくともXcodeをインストールします。僕はiOS SDK付きをダウンロードしてインストールしました。 ついでにhomebrewもインストールしておきます。 sudo dscl /Local/Default -append /Groups/staf

  • 非同期処理の通知処理 with Tatsumaki

    Non-blocking processing notifications with Tatsumaki can provide laughter, tears, cuteness, and surprises over 20 minutes. Some details may not translate well from the slide version and some meanings may be lost, but the overall atmosphere can be enjoyed in the official video release. The presentation introduces asynchronous processing using PSGI/Plack to avoid blocking the server. It discusses no

    非同期処理の通知処理 with Tatsumaki
  • Perl で自然言語処理

    2. 私(佐藤敏紀)の自己紹介名前:佐藤敏紀(さとうとしのり)ID : overlast(Twitter : @overlast)key : 自然言語処理/機械学習/検索/圧縮/順序学習blog : Overlasting::Life(http://diary.overlasting.net/) 略歴2005年4月〜2008年3月:東工大の奥村研究室自然言語処理(比較関係抽出)の研究2008年5月〜:某大手ポータルサイト自然言語処理・機械学習技術をWeb文書に応用類似文字列検索ライブラリの研究・開発スペル訂正システムの研究・開発2

    Perl で自然言語処理
  • Mojolicious::Lite で WebSocket を使ったチャットを作る - naoyaのはてなダイアリー

    node.jsの衝撃とWebSocketが拓く未来 (1/2):WebSocketで目指せ! リアルタイムWeb(1) - @IT という記事を読みました。node.js という V8 を用いたサーバーサイド JavaScript フレームワークを使うと簡単にイベント駆動のサーバが書ける、node-websocket-server.js を使うと node.js で WebSocket サーバが実装できる。Ajax による polling や Long Polling などと WebSocket のアーキテクチャ比較といった内容でした。 WebSocket を使うと手軽にサーバプッシュ的なアプリケーションが作れて嬉しいのですが、現時点では、HTTPサーバー側で WebSocket を処理する下地の実装をどう用意するかというところがひとつ課題でしょう。node.js はその回答のひとつとして

    Mojolicious::Lite で WebSocket を使ったチャットを作る - naoyaのはてなダイアリー
  • Perlの正規表現をマスターしよう - Perl入門ゼミ

    Perl › 正規表現 Perlの正規表現の解説です。この記事を読めば、日常で利用する正規表現のすべてを短時間でマスターすることができます。正規表現を使えば、文字列の集合を表現することができ、正規表現にマッチする文字列を検索したり、置換したりすることができます。 正規表現を使って文字列の集合を表現できます。たとえば「a」「aa」「aaa」という三つの文字列を正規表現で表現してみましょう。連続する文字の個数を表現する正規表現「{}」を使って次のように書くことができます。 a{1,3} 「a」「aa」「aaa」という文字列の集合をひとつの正規表現「a{1,3}」で表しています。{}は量指定子と呼ばれるもので、連続した文字を表現することができます。 a aa -> a{1,3} aaa 正規表現の例をもう一つみてみましょう。「p1」「q1」「r1」という文字列の集合をひとつの正規表現「[pqr]

    Perlの正規表現をマスターしよう - Perl入門ゼミ
  • Re: Perlスクリプトの一行目には何と書くべきなのか - Islands in the byte stream (legacy)

    Re: Perlスクリプトの一行目には何と書くべきなのか もしCPAN形式でスクリプトを配布するなら、それは#!/usr/bin/perlないし#!perlとするべきで、env(1)を使うべきではないと思います。 CPAN形式のディストリビューションでは、インストールするスクリプトのshebang行をインストール直前に修正し、正しいパスに書き換えてくれます。ただし、このルーチン*1はいまのところenv(1)を認識してくれません。つまり、env(1)を使った場合、インストールに使用したperlと実際に実行されるperlが一致するとは限りません。perlを一つしかインストールしていないシステムなら、これでも問題なく動きます。しかし最近では、システムにインストールしてあるperlには触らず、アプリケーション用のperlを別途perlbrewなどでインストールしてそちらを使うということもよく行われ

    Re: Perlスクリプトの一行目には何と書くべきなのか - Islands in the byte stream (legacy)
    atm_09_td
    atm_09_td 2010/09/13
    いつも使い捨てのスクリプトしか書かないから気にもしたことがなかった。覚えておこう。
  • Perl Hacks on Emacs

    Agenda EmacsでPerlコーディング anything.el perl-completion.el auto-complete.el anything-project.el flymake perl-tidy emoji 設定方法

    atm_09_td
    atm_09_td 2010/09/04
    いろいろまとめてあるのでメモ。
  • Big Sky :: VimmerなPerl開発環境

    えーっと、IDE使ってません。ごめんなさい。 PerlをIDEで書いてる人、どれくらいいるんだろう。何使ってるんだろ。 私はLinuxでもWindowsでもVimを使ってます。Perlってサーバで使われる事が多いし、サーバだとsshで入る事が多いだろうし、まぁXの転送やVNCやそれっぽいのでグラフィカルに操作しても良いけど、正直PerlのドキュメントもテキストベースだしPerlで入力補完出来るグラフィカルエディタもまず無いと思ってる。 で、私がVim上で使ってるPerlの開発を「200倍便利にするスクリプト」を紹介。 perldoc.vim perldocはPerlのオンラインマニュアルなんだけど、これを一々ターミナルに戻ったりして引いてると時間のロス。screenで分割して開いてもいいんだけどscreenの画面間移動よりもVim内でのウィンドウ間移動の方が操作感が統一出来てて良い。 そこ

    Big Sky :: VimmerなPerl開発環境
    atm_09_td
    atm_09_td 2010/09/02
    emacsに浮気中なのだが、一応メモ。
  • (貧乏な人のための)Perl モジュールの作り方。 : torus solutions!

    ぼくがお金がなくてラクダを買えなかった時に、 こんな情報があればいいなぁと思っていた内容をまとめてみます。 なので、出来るだけフリーのドキュメントを見て内容を確認できるようにしたいと思います。 ちなみに、こちらで動作を確認している Perl のバージョンは 5.6.1 なので、 ドキュメントなどもそのバージョンのものをリンクするようにします。 パッケージ、クラス、モジュール 具体的なクラスの作り方やオブジェクト指向プログラミングの方法などは、 「perltoot - トムによるPerlオブジェクト指向チュートリアル」を何度も読めばわかると思います。 っていうか、ぼくもそれしか読んでないんです。 ごめんなさい。 以下は、そこに書いてある方法で書いた Perl モジュールを、 配布できる形にパッケージングするためのやり方です。 h2xs モジュールを作るには、まず h2xs *1 というおま

    atm_09_td
    atm_09_td 2010/08/30
    今回使うかもしれないので一応メモ。
  • Kazuho@Cybozu Labs: テストケースの実行にあわせて Apache を起動・終了する方法

    ウェブアプリケーションやライブラリの結合テストを行う段階になると、実際に Apache を起動してテストを実行したくなります。しかし、そのためにいちいち Apache の設定ファイルを修正して httpd を再起動して、とやっていては面倒です。特に複数のプログラムを同時に開発していると、あっちをテストしたらこっちが動かなくなって… なんてなったりして嫌気がさしてきます。 そこで、テストを実行する際に、環境毎に異なる以下のような問題を吸収しつつ、テスト専用に設定された Apache を自動的に起動終了してくれる Perl モジュール:Test::Httpd::Apache2 を書きました。 環境によって、インストールパスが違う (/usr/local/apache/bin だったり /usr/sbin だったり) 環境によって LoadModule の要不要や、ロードするパスが違う 環境によ