Perl
先日、moznion氏の「実行中のプログラムの進捗度を手っ取り早く確認したい」という面白い記事を読みました。これに影響されて、Perlと$0のウンチクを id:lesamoureuses に語ったところ地味にウケが良かったので、さらに調子に乗って、細かすぎて伝わらないPe…
Perlのオブジェクト指向はかなり後付けでムリヤリ感があるんだけど、privateメソッドをモジュールに作りたいなと思った場合にどうするか。というのを調べてみた。 概要 以下、ある秘密値を取得するメソッドを隠蔽したいケースを考える。実はこのメソッドは、…
まだLWP::UserAgentをいじっているのだが、レスポンスヘッダ周りの操作でちょっと迷ってしまった。 レスポンスヘッダを文字列として取得する これは、HTTP::Requestのheaders_as_stringメソッドを使えば良い。 #!/usr/bin/perl use strict; use warnings; us…
何がしたいかと言うと。普通はこんな感じで、POSTでパラメタを引き渡すのだけど。 #!/usr/bin/perl use strict; use LWP::UserAgent; my $ua = LWP::UserAgent->new; my %param = ( "id" => "ozuma", "type" => "12", ); my $res = $ua->post("http://localh…
PerlのLWP::UserAgentでリクエストを投げていると、リダイレクトを自動で追ってくれるので、例えば [302 Moved Temporarily] はLocationヘッダで指定されたURLを取ってきてくれて透過的に扱うことができる。しかしこれが余計なお世話ということであれば、req…
IPアドレスとネットマスクをいちいち手で計算しなくとも、自動でサッと出してくれるのがあった。忘れていたのでメモ。 iptabコマンド iptabは、各ネットマスクごとのIPアドレス数、マスク表記をずらりと表示してくれる。 $ iptab +-------------------------…
TwitterでOAuthログインしてほげほげやって作るTwitterのWebアプリを、PerlのCGIで昔ながらな感じで作っている人はかなり少ないようだ。でもおじさんはRubyとかPHPとか嫌いなので、今さらPerlから離れたくない。ということで、Perlで書く人に参考になるかな…
(※)最初に注意書き この記事の記述は、Twitterのボットアプリ、つまりDesktop appの例で書いています。TwitterのWebアプリを作る場合はcallbackの実装などが必要のため別にまとめました、こちらをご参照ください。 http://homepage1.nifty.com/y-osumi/wor…
ImageMagickを使ったネタ。ちょっと錆びた感じのロゴを作ってみようと思う。この元ファイルを、 以下のような感じにしてみようということ。ちょっと錆びたように見える(よね?)。 convertコマンドで やり方のアイディアとしては、convertコマンドのresize…
ユーザが投稿した内容を保存しているデータベースからデータを拾い上げて、RSSを作ることにするか…… (´∀`)定番のPerlのXML::RSSを使って、MySQLのデータベースに入っているとする。こんな流れになるかな。サンプルソースコードをまとめたものは、この記事の…
Webアプリを構成するCGIのソース内に、データベースへの接続設定などを直接埋め込んでおくのは良くない書き方だ。そのため、プログラムから設定を取得するための共通のコンフィグファイルを作ろうと思う。この設定ファイルを書く形式にはJSONとかXMLとかいろ…
Webブラウザの言語設定を取得して、日本語ならば日本語ページ、それ以外ならば英語ページを表示するようにする。ApacheならMultiviewsを使う案もあるけど、CGIの中で判断して出し分ける方法を取ろう。 環境変数HTTP_ACCEPT_LANGUAGEには、カンマ区切りで以下…