タグ

perlに関するfrsh_mtのブックマーク (18)

  • MHI/2.1 - $ JavaScript の復権と Perl の不幸

    frsh_mt
    frsh_mt 2009/02/23
  • Wikipediaから声優名一覧を取ってくるPerlスクリプト - kkobayashi_a’s blog

    めも - XXXannexでxpathだけ考えといてスクリプトにしていなかった。 なにやらゴチャゴチャしてしまったなあ。俺のコードはモダンなモジュールを使いこなすほど洗練されてない、というのがよく分かるなw もうちょいうまいこと書けそうな気もするのだが・・・とりあえず動くということで。 use strict; use warnings; use Web::Scraper; use URI; use URI::Escape; use Data::Dumper; use List::MoreUtils qw(uniq); my $uri = new URI('http://ja.wikipedia.org/wiki/Category:%E6%97%A5%E6%9C%AC%E3%81%AE%E5%A5%B3%E6%80%A7%E5%A3%B0%E5%84%AA'); my $uris = scr

    Wikipediaから声優名一覧を取ってくるPerlスクリプト - kkobayashi_a’s blog
  • キャッシュしよう

    京都観光で散財しすぎて貯金がないmalaです。こんにちは。キャッシュの話を書きます。 色んなキャッシュがあります データベースから引く前にmemcachedから取得したり テンプレートエンジンのレンダリング結果をキャッシュしたり 各種ウェブサービスのリクエスト結果をキャッシュしたり その他諸々CPUったり時間のかかる処理をキャッシュしたり 簡単に思いつくのはこの程度ですが、スケーラブルなウェブサイトを構築するには常識的に考えてそんなのキャッシュしねーだろうというようなものをキャッシュする必要があります。 DateTimeをキャッシュしよう 同じ時刻に対するDateTimeオブジェクトをキャッシュします。 package MyDateTime; use strict; use base qw(DateTime); my %CACHE; sub now { my $class = shif

  • 404 Blog Not Found:perl - ワンライナーの書き方入門

    2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl

    404 Blog Not Found:perl - ワンライナーの書き方入門
  • 一行野郎(one-liner)はperlにおまかせ

    序文 もしもプログラミング言語が宗教だったら……(全訳版)[絵文録ことのは]2008/12/21 によると、ブードゥー教徒らしい dankogai です。 ブードゥー教徒らしく、「上司があなたに金曜夜21時に緊急の仕事を命ずるときにしばしば使われる」呪文をここでまとめておくことにします。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e'print "Hello, World!\n"' Hello, world! % ちなみに、perlとコマンド名だけで起動すると、標準入力をスクリプトとして返します。 %

  • JPerl Advent Calendar 2008

    JPerl Advent Calendar 2008 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな?

  • Config::PitとWeb::ScraperとPlaggerで24時間365日のゲーム監視体制

    序文 趣味のネットウォッチのために仕方が無く超便利なPerlを覚えようという感じの otsune です。そんなわけでコーディングの深い話はよくわからんので、今回はPerlとCPANを使ってネットウォッチを支援する手法について書きます。 ウォッチしたいWebページを機械的に監視できれば、あとはPlaggerなどの便利ツールを使って「メールを出す」「im.kayac.comでメッセンジャーにアラートを出す」「ピザを注文する」など好きな処理をすることが出来ます。 RSSフィードやAPIなどがあるWebサイトであれば特に苦労はしないのですが、今回取り上げるOgame.jpはウェブブラウザーゲームなので、フィードなど便利な機能はまったく存在しません。 そこでウォッチしたいWebページに対してWeb::Scraperを使ってYAMLを出力する短いスクリプトを書いてしまいます。 メールを出すなどのこまご

  • Win32::GuiTest で Windows の GUI アプリをハックしよう

    的な書き方 use strict; use warnings; use utf8; # ↑ Perl ハッカーに DIS られなくなるおまじない # Win32::GuiTest を使うおまじない use Win32::GuiTest qw(:ALL); # 日語を使えるようにするおまじない UnicodeSemantics(1); # ここで Win32::GuiTest を使う マウスを動かす use strict; use warnings; use utf8; use Win32::GuiTest qw(:ALL); # 小数点もいけちゃう sleep 関数 use Time::HiRes qw(sleep); UnicodeSemantics(1); for (my $i = 0; $i < 500; $i++) { # 10 ms 待つ sleep(0.01); # マウ

  • エキスパートPerl - 変態モジュール総覧

    Perl の世界には、「変態モジュール」と呼ばれるモジュールがたくさん存在します。 これらは、モジュールの形態をとりながら、Perl の内部に踏み込み、蹂躙しているという恐ろしい存在です。 しかしながら、これらのモジュールは使いどころを間違えなければ非常に有用であり、あなたのプログラムに無限の可能性をもたらすことでしょう。 自分の足をどうやって撃ちぬくか、よく考えてからつかってください。 下記のモジュールたちは、それ自体が変態的なものもあれば、変態的なことをするときに使うモジュールもあります。 PadWalker PadWalker は変態モジュールの筆頭です。レキシカルスコープの変数を、レキシカルスコープの外から見たり書き換えたりできます。 peek_my peek_our peek_sub closed_over という4つの関数をサポートしています。 下記のようなありえない操作を可能

    frsh_mt
    frsh_mt 2008/12/08
  • HTMLから本文を抜き出せるモジュールHTML::ExtractContent - perl-mongers.org

    This domain may be for sale!

    frsh_mt
    frsh_mt 2008/11/12
    便利そう。
  • ATOKダイレクト API for Perl / Ruby | さらに使いこなす | ATOK.com

    株式会社ジャストシステム(以下「弊社」)は、以下に定めるドキュメント、サンプルプログラム[ソース/インストールツール]、開発用ツール(以下総称して「技術情報」)を受領するお客様(以下「受領者」)が下記にご同意されることを条件として、技術情報の使用を許諾いたします。受領者が技術情報のご使用を開始された場合は、下記条件に同意いただいたものとみなします。 ドキュメント: 【Win】 atok_direct_script_api.pdfMac】 atok_direct_script_api_mac.pdf サンプルプログラム: atok_direct_script_perl_sample.pl/atok_direct_script_perl_sample.xml atok_direct_script_ruby_sample.rb/atok_direct_script_ruby_sampl

  • 言語にわくわくが必要な理由 : 404 Blog Not Found

    2008年06月23日05:00 カテゴリLightweight LanguagesArt 言語にわくわくが必要な理由 これは、同感、というより、 おごちゃんの雑文 ? Blog Archive ? プログラム言語に「わくわく」なんていらんでしょ 逆にRubyは「わくわく」しない言語だった。だからこそRubyな人達が「わくわく」と言うのに違和感を感じるんだけど。じゃあなぜ「わくわく」しないかと言えば、 出来て当たり前のことが当たり前に出来て、 たいていのことがサクっと当たり前に出来る からだ。 Rubyのスローガンが、Principle of least surprise(POLS; 驚愕最小原則)である以上当然ではある。 そして、私がrubyが好きでも惚れるに至らない理由でもある。 私は、言語に二つの相反するものを期待している。一つは、「たいていのことがサクっと当たり前に出来る」こと。L

    言語にわくわくが必要な理由 : 404 Blog Not Found
  • 「Perl, Python, Ruby の比較」があまりにもいい加減な件 - odz buffer

    ref:Perl, Python, Ruby の比較 ref:はてなブックマーク - Perl, Python, Ruby の比較 ref:はてなブックマーク - Perl, Python, Ruby の比較 ちょっと遅くなったが以前宣言したとおり、書いておく。 「Perl, Python, Ruby の比較」はどうも調査が足りないのか、結果的にかなり嘘のまじった文章になっている。あくまで、初心者の私見ですので気軽に聞き流してください。とはあるものの、はてブのコメント等で「参考になる」とか言っている人もいる*1ので一応指摘しておこうと思う。 3.2 次に Python 変数はデフォルトで局所変数となるので、 Perl のように my で宣言する必要はありません。 my を強制することで変数の typo を防げるという視点が抜けるのは若干フェアではないですね。 それから、Python には

    「Perl, Python, Ruby の比較」があまりにもいい加減な件 - odz buffer
  • 第1回 Perlの文法の基本

    Perlとは何か Perlはテキスト処理に特に優れた非常に強力なプログラミング言語です。でも,うまく使えばシステムをきれいに掃除させることもできますし,さらにあなたの心もいやしてくれるに違いありません。また,多くのディストリビューションで標準的にインストールされていますし,自分でインストールすることも難しくはありません。 「PerlってCGIじゃないの?」と思う方がいるかも知れません。確かに,CGIで利用するためにPerlに出会った人は多いでしょう。主な利用方法といえば,Webアプリケーションの作成かもしれません。しかし,「プログラミングPerl」*1によれば,Perlは最初,システム管理のためのツールとして作られたものだったのです。 FedoraなどのLinuxディストリビューションでは導入時に開発環境を選ぶとPerlがインストールされます。同時にPerlのドキュメントもインストールされ

    第1回 Perlの文法の基本
  • JavaScriptで配列をシャッフル

    配列をシャッフル、つまりランダムに要素の位置を入れ替えるというのを、sortメソッドを使ってやってみたのだけど、明らかにダメダメなものになってしまった。その後、あーでもないこーでもないと考えたのだけど、算数が得意すぎて頭が痛くなった。ということを某所でぼやいたらはてのくんがコードを見つけてくれた。どうやらFisher-Yatesという有名なアルゴリズムでやると良いらしい。 最初に書いたコードは、 var a = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); a.sort( function (a, b) { return Math.ceil(Math.random() * 3) - 2; } ); というもの。sortメソッドは、パラメータに与えられた関数が負の値・0・正の値を返すことによって要素の順序を決定するので、その関数がランダムに値を返せばランダ

    JavaScriptで配列をシャッフル
    frsh_mt
    frsh_mt 2008/02/16
    Fisher-Yatesでソート
  • グニャラは大変なFlashを描いていきました - グニャラくんのグニャグニャ備忘録@はてな

    今週末は2つの勉強会に参加・発表させていただきました! ステキな発表の場を設けていただいてありがとうございます!! 両方ともActionScript/Flashについて(?)の発表です。 それぞれ発表資料を公開させていただきます。 Flash + JavaScriptでmemcachedと直接通信 @ さかとくカンファレンス ActionScript3上で、Socketを用いてmemcachedとの通信を行うモジュールを書きました。 さらに、そのモジュールをJavaScriptから呼べるようにしました。 get/setしかサポートしてないですし、 全体的に設計とコーディングが小汚いです。 ちょっと恥ずかしいけど、 CodeReposにアップしているので適当に直してもらえると嬉しいです… プログラム体・発表資料は以下に置いております。 CodeReposのレポジトリパス 発表資料(PDF

    グニャラは大変なFlashを描いていきました - グニャラくんのグニャグニャ備忘録@はてな
    frsh_mt
    frsh_mt 2008/01/30
    何回見ても弾さんで笑ってしまう。
  • mixi Engineers’ Blog » 言語バインディングを書こう

    世田谷の某所から原宿まで自転車通勤しているのですが、そろそろ寒くなってきたので電車に切り替えようかと悩み中のmikioです。今回はTokyo Cabinetのスクリプト言語バインディングについて述べます。 スクリプト言語バインディングとは TCはC言語で実装されたライブラリで、C言語(C89、C99)およびC++言語のプログラムから利用することができます。CやC++は各種の計算処理やシステムコールの呼び出しを直接的に記述できるので高速に動作するプログラムを作ることができる反面、ポインタ演算やメモリ管理などで致命的なバグを潜ませやすいので非常に注意深くコーディングを進めなければいけません。つまり、プログラムの実行速度は速いが、開発速度は遅いということです。 それに対して、PerlRubyをはじめとするいわゆるスクリプト言語は、実行速度はCやC++に劣るものの、高水準かつ直感的な文法と強力な

    mixi Engineers’ Blog » 言語バインディングを書こう
  • 変数の局所化 ~ my と local どう違う? ~ | futomi's CGI Café

    ここでは、変数の局所化に使う my と local について解説します。 どちらも変数を局所化することには違いないのですが、細かな点で違いがあります。 この違いを理解していないと想定しない結果となってしまいます。 しっかりと押さえておきたいポイントです。 目次 局所化とは そもそも局所化とは何かを理解しなければいけません(ご理解されている方は飛ばしてください。)。 数十ステップ、数百ステップ程度のスクリプトの場合には、全体を把握しながら作成できるため、あまり気にしませんが、 数千ステップ以上のスクリプトともなると、自分でスクリプトを書いていても、どこにどんな変数名を使ったかを忘れてしまいがちです。 Perl の場合、宣言しなくても、いきなり変数を使うことができるため、そのようになりがちです。 そこで、ある範囲だけに有効な変数として定義することで、他の範囲には影響しないようにすることができま

  • 1