タグ

関連タグで絞り込む (272)

タグの絞り込みを解除

Perlに関するpoppenのブックマーク (869)

  • @INCとuse - D-6 [相変わらず根無し]

    @INCとuse ちょっとずれてるので横からコメント unshift、push で変更を加えた @INC(モジュール検索PATH)が使用されない。 起こってる現象とこの認識はちょっと違う。 具体的に何が起こっているか説明する前に、Perlにはコンパイル(BEGIN) フェーズとランタイムフェーズという、2回コードが実行されるタイミングがある(まぁ厳密にはもう少し色々フックすることが可能だけど、とりあえず一般的にはその二つで大丈夫)。 これがどういうことかというと、順番にコードを書いているつもりでもコンパイルフェーズで評価される部分とランタイムフェーズで評価される部分があるということ。わかりやすい例としてはこんな感じか: #!/usr/bin/perl use strict; print "Runtime!\n"; BEGIN { print "Compile time!\n"; }

    poppen
    poppen 2010/02/19
  • CGI::Compile を試してみた|perl|@OMAKASE

    CGI::Compile とは miyagawa さんが作成した 既存のcgiスクリプトを書き換え無しにPSGI仕様に変換してくれるモジュールです。 一口に変換といっても新しくファイルが作られる訳ではなく実行時にPSGI仕様に合うようにしてくれるようです。 これを使うことでmod_perlのようなpersistentな状態を簡単に作り出してくれる便利モジュールですね。 簡単な hello world で試してみた hello.cgi#!/usr/bin/perl use strict; use warnings; use CGI; my $cgi = CGI->new(); print "Content-Type: text/html\n\n"; my $name = $cgi->param("name"); print "Hello "; print defined $name ? $n

  • ちょっとしたコードを検証するコツ - Unknown::Programming

    とりあえずPerl限定のお話で。 まぁ皆同じようなことは多分してると思うのでぐだぐだと何か言うことも無いんだけど、自分流のやり方を覚書程度にメモするという意味でここに残しておきます。 まず以下のようなfoo.plを用意します。 #!/usr/local/bin/perl -w use strict; use warnings; use Data::Dumper; use YAML(); sub p (@) { local $Data::Dumper::Indent = 1; print Dumper(@_) } sub P (@) { print YAML::Dump(@_) } use Perl6::Say; use Path::Class; __END__ 自分の環境にあわせてお好みのuse文を入れておきましょう。Perl 5.10とかならPerl6::Sayはいらないですね。 ちなみ

    ちょっとしたコードを検証するコツ - Unknown::Programming
    poppen
    poppen 2010/02/17
  • Perl Tips

    use stirct 'vars'; とした場合、或いは単に use strict; とした場合、グローバル変数は全てパッケージ名で完全に修飾しなければなりません。 例(1): #!/usr/local/bin/perl use strict; my $var1; $main::var1 = 3; subroutine(); sub subroutine { print "var1 = $main::var1\n"; } これが面倒な場合は以下のようにすれば記述の負担を減らすことができます。 例(2): #!/usr/local/bin/perl use strict; use vars qw($var1 @arr1); my $var1 = 3; my @arr1 = (1, 2, 3); subroutine(); sub subroutine { print "var1 = $var

    poppen
    poppen 2010/02/16
  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

    poppen
    poppen 2010/02/16
  • AnyEvent::Twitterの使い方 - すぎゃーんメモ

    Terminal上で動作するTwitter閲覧ツール「Twiterm」を作った - すぎゃーんメモにて、初めてAnyEvent::Twitterというモジュールを使ってみたのだけど、使い方を激しく勘違いしていたので、正しい使い方をメモっておく。 AnyEvent::Twitter - search.cpan.org バージョン 2009年9月末時点では最新は0.26。 最も簡単なサンプル use strict; use warnings; use AnyEvent; use AnyEvent::Twitter; # ユーザー名、パスワードを引数から取得 my ($username, $password) = @ARGV; my $twitty = AnyEvent::Twitter->new( username => $username, password => $password, );

    AnyEvent::Twitterの使い方 - すぎゃーんメモ
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • Perl基礎文法最速マスター - Perl入門ゼミ

    Perl › 基礎文法 ITの現場でPerlが必要になって、今勉強しているという方はおられませんか? 他の言語をある程度知っている方が「Perl基礎文法最速マスター」を読めば、Perlの使い方の基礎をマスターしてPerlを書くことができるようになっています。 基礎 文法チェック 文法をチェックを厳しくするために最初に必ず次の2行を書くようにします。 use strict; use warnings; 「use strict」と「use warnings」という2行を加えることで事前に文法チェックが行われるので、ソースコードを記述する作業は速くなり、コードの品質が上がります。 print関数 文字列を出力するにはprint関数を使用します。 print "Hello world"; Perlでは標準関数や事前に定義されている関数で括弧を省略することができます。 コメント Perlのコメントで

    Perl基礎文法最速マスター - Perl入門ゼミ
    poppen
    poppen 2010/01/27
  • livedoor Techブログ : 変な CAPTCHA だっていいじゃないか にほんじんだもの

    こんにちは。開発のシニアスペシャリストをやっております、通称「にぽたん」こと谷口公一です。 私たちが日頃使っているネット上のサービスで、web 上のフォームの最後等に「ここに書かれている文字を入力してください」のように、絵に描かれた文字を目で読み取って入力するよう求められる場合があります。 言うまでもありませんが、これは通称「キャプチャ (CAPTCHA)」と呼ばれているもので、画像データは、人間ならそれを肉眼で認識して入力が行なえますが、機械には少し難しくなるため、フォームに文字を入力しているのが、機械ではないことを判定するためにこういう仕組みが存在します。 世の中にある CAPTCHA は、やたらと字がグチャグチャで読み取るのが非常に困難なケースもあります。 これは当然、安易に、白地に黒い文字を書いたような単純な画像を CAPTCHA に用いれば、それを解読するシステムは簡単に開発出来

  • 標準出力や標準エラー出力を捕まえてテストする Test::Output / Capture::Tiny - 酒日記 はてな支店

    Perl で、あるコードが標準エラー出力に吐き出した内容をテストしたい場面がありました。 自分でまず思いついたのは STDERR を dup して保存しておいて、ファイルにリダイレクトして、元に戻して、というやりかた。これはこれで動くのですが面倒。こういう場合は Test::Output (や miyagawa さんに教えてもらった Capture::Tiny) が便利です。 Test::Output はこんな感じ。 std(out|err)_(is|isnt|like) といったテスト関数が使えるようになります。 use Test::Output; use Test::More; stderr_is { # STDERR になにか出力するコード } "STDERRの内容", "description"; stdout_like { # code } qr/regexp/, "descri

    標準出力や標準エラー出力を捕まえてテストする Test::Output / Capture::Tiny - 酒日記 はてな支店
  • Perlへの懺悔 - aticoにようこそ

    ここ数年Rubyを使っています。 Rubyこそ最高のスクリプト言語だと思っていました。 Rubyの名前の由来もよりよいPerl (pearlは6月の誕生石、ruby は7月の誕生石 ) という意味を意識してのものです。 そのため、Rubyが盛隆になった今、Perlを使っている人は、Rubyに乗り遅れて、Perlの知識にしばられているだけ。そう思っていました。 でも、その思いは間違っていました。 PerlにはPerlのよさがあり、Rubyにけっして劣っていない。と最近そう確信するにいたりました。 そこで懺悔の意味をこめて、Rubyに比べたPerlのよさを述べたいと思います。 1.参照回数によるオブジェクト破棄のため、破棄時が明確である。 perlは対象のオブジェクトのリファレンスがなくなった時に破棄が実行されるのに対し、rubyはGC(ガベージコレクター)による破棄のため、破棄がいつ行われる

    Perlへの懺悔 - aticoにようこそ
    poppen
    poppen 2010/01/25
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 2010-01-22 - TokuLog 改めB日記

    というわけで、俺の独断と偏見によるオススメモジュールのコーナーです。AnyEvent は poll/select/kqueue/epoll(4) などのイベントループを抽象化するライブラリです。似たような目的のものとして Danga::Socket, POE などがありますが、ライブラリ全体のインターフェースの完成度や速度などの点から AnyEvent を僕は一番押しています。Pure Perl で利用できますし、インターフェースも安定しています。まだバリバリ開発されてますが、backward incompat な変更はされないようです。作者が mlehmann 氏ということで、ドキュメントは丁寧ですが攻撃的な文章が目立ちますし、バグレポートすると異常な長文がかえってきたりするのでうっとーしかったりしますが、コードの品質はたかいので、気にする必要はないかとおもいます。コードの品質の前では多

    poppen
    poppen 2010/01/22
  • Twitter の mention や DM をメール通知するスクリプト (OAuth 対応版) - [ぴ](2010-01-16)

    _ [Perl][ネット諸々] Twitter の mention や DM をメール通知するスクリプト (OAuth 対応版) Echofon とか Twitbird とか、iPhone の各種 Twitter アプリの有料版を買うと Global Push という機能があって mention や DM を iPhoneプッシュ通知してくれるらしい。 それと同じことを自前でやっている im.kayac.comでiPhonetwitterのリプライを通知するを見て、それって im.kayac.com にアカウント作らなくても MMS にメール送るだけでもほとんど同じことできるよな…と思い、Net::Twitter::Lite の練習がてら書いてみた。 #!/usr/bin/env perl use strict; use warnings; use POSIX; use Net::T

    Twitter の mention や DM をメール通知するスクリプト (OAuth 対応版) - [ぴ](2010-01-16)
    poppen
    poppen 2010/01/21
  • Big Sky :: Perl音痴な私がPerlを使っている理由

    Perl Hacker面白いよ。:) 変な人いるし、堅い人もいる。ネタに一生懸命になれる人達がいっぱいいるし、意味なく1行に拘る人もいる。 私はPerlでスーパークリエイター奥一穂(kazuho)さんと会えた。 kazuhoさんにお好み焼き屋で箸袋の裏に貰ったサイン! 今も大事に持ってるお! はせがわさんにも会えた。あ、ちゃうちゃう。はせがわさんはwassrだ。 次はどのHackerに会えるかな。

    Big Sky :: Perl音痴な私がPerlを使っている理由
    poppen
    poppen 2010/01/21
  • それでも私が Perl5 を使いつづける理由または、Why I still use Perl5? 的な。 - tokuhirom's blog

    Fast Enoughもっとはやいといいな、とおもうときはあるけど、他の LL とくらべても速い部類。 Reference Counter であるXS かくときとかにはめんどくさいけど、RAII っぽく書けるとか、開放のタイミングがわかりやすいとか、利点もおおい。 スコープぬけたときに開放されることが保証されてるので、メモリ使用量とかが読みやすいのもいいなーと。

    poppen
    poppen 2010/01/21
  • YappoLogs: kumofs での Data::Model の使い方

    kumofs での Data::Model の使い方 スケート頑張りすぎて足首が痛いYappoですみなさまウインタースポーチュしてますか? 日kumofsが公開されたので、折角なので Data::Model から kumofs を実際にどうつかっているかを紹介しようかとおもいます。 kumofs については 分散Key-Valueストア「kumofs」を公開しました! - 古橋貞之の日記 を Data::Model::Driver::Memcached については dann さんによる Data::Model::Driver::Memcachedで超効率データ保存 - JPerl Advent Calendar 2009 を別途参照すると良いでしょう。 スキーマ定義 では実際に kumofs をつかった場合のスキーマ定義を下記に貼ります。 ちなみに、それらしいような定義をしてますが全部フ

  • kazuhoのメモ置き場

    今後はメモも含めKazuho's Weblogに書いて行こうと思います。 以前以下のようにツイートした話だけど、OSSの開発モデルを社内開発にそのまま持ち込むのは危険。 チーム開発の場合、簡単にコメント返せないようなPR送られた時点で負けだと思ってる。無駄なコードが生産されないよう事前に設計を詰める作業をすべき / “雑なレビュー - ✘╹◡╹✘” http://htn.to/by5or1 https://twitter.com/kazuho/status/431602421068877824 今日一般的に想定される「OSSの開発モデル」はEric S. Raymondの有名なエッセーである「伽藍とバザール」によって解説されたところの「バザール」である。 「バザール」モデルにおいては、多くの改善提案の中から最善と考えられる実装が取り入れられ、コミュニティで共有されるようになる。同エッセーか

    kazuhoのメモ置き場
    poppen
    poppen 2010/01/15
  • Snow Leopard の Perl とアーキテクチャ - unknownplace.org

    Snow Leopard には二つの Perl がインストールされている /usr/bin/perl5.10.0/usr/bin/perl5.8.9 デフォルトの /usr/bin/perl は 5.10.0 のほう。それぞれユニバーサルバイナリになっていて、 $ file /usr/bin/perl5.10.0 /usr/bin/perl5.10.0: Mach-O universal binary with 3 architectures /usr/bin/perl5.10.0 (for architecture x86_64): Mach-O 64-bit executable x86_64 /usr/bin/perl5.10.0 (for architecture i386): Mach-O executable i386 /usr/bin/perl5.10.0 (for arch

    poppen
    poppen 2010/01/09
  • LWP::UserAgent でリダイレクトする URL にアクセスした際、リダイレクト先の URL を得るには - @kyanny's blog

    先日↑なタイトルで $res->base を使うといける、とか書きましたがデマでした。すいません。消しちゃったので permalink なくなりました。もしブクマしてくれた人がいたら重ねてすいません。 で、 HTTP::Response のマニュアルをちゃんと読んで、今度は大丈夫かなと思ったのでメモ。 検証コード リダイレクト先の URL を得るには my $response = $ua->get($url); my $uri = $response->request->uri; print $uri;これでいい。 $uri は URI モジュールのインスタンス。ふつうに get とかして帰ってくる $response が最終的に 30x じゃないステータスコードが返されたレスポンスのオブジェクトなので、そのレスポンスを発生させたリクエスト (->request) をたどってその uri

    LWP::UserAgent でリダイレクトする URL にアクセスした際、リダイレクト先の URL を得るには - @kyanny's blog
    poppen
    poppen 2010/01/02