Perl

Web::Queryで最初の要素を取りたい! その2

Web::Queryにfirst()、last()みたいなのがあると便利だなーと思いました。 例えば、こんな感じ。 sub first { my $self = shift; $self->{trees} = +[$self->{trees}[0]]; return $self; } sub last { my $self = shift; $self->{trees} = +[$self->{trees}[…

Google CGI API for Japanese Input

WebService::Simpleを使ってGoogle CGI API for Japanese Input - アリ より こう書けよ。 use strict; use warnings; use Encode; use JSON; use LWP::UserAgent; use URI; use Data::Dumper; use Data::Recursive::Encode; my $text = shift or die; my $u…

Amon2でTengを使いたいときには

Amon2のflavorを書いてみた。 こうすることで、 % amon2-setup.pl --flavor Teng MyApp みたいにできるので便利。 あと、TengにはTeng::Schema::Dumperがあるのでschemaの生成が楽。

リアルタイムプレビューしたい

gfxさんから「スクリプトを別にするのではなく、フォームからフォーマットを選べると嬉しいです!!」と言われたのでやってみました。 最近、コード書くのが楽しいです。 いい感じ!マジで便利です。 気になったこと $self->param()がからっぽのときは? こ…

昨日のリアルタイムプレビューは...

GETを使うよりもPOSTを使うべきだよね、って言われそうなのでPOSTを使ってみた。 preview in real-time. — Gist ほかにも、Text::XatenaやPod::Simple::XHTMLを使った例もあるので必見。

Mojolicious::Liteを使ってMarkdownをリアルタイムプレビューしてみた

こんな感じ。 もちろん、Text::MarkdownだけではなくText::Xatenaでもできるので満足ですね。

PerlからSkype APIを叩きたいときには

CPANで検索した結果こんなかんじ。 Windows SkypeAPI Mac - Linux Net::DBus::Skype Macは対応していません。 しかも、このモジュールはAPIを叩くことしかできません。Skype4Pyみたいな使いやすいラッパーが欲しいので自分でSkype APIラッパーを書くことに決…

今どきのListPod(listpod-app-lite)の使い方

yusukebeさんが開発されているlistpod-app-liteがYouTubeの仕様変更により使えなくなってしまったので、今どきのListPodのインストール方法を紹介します。 % cpanm http://github.com/akiym/ListPod-App-Lite/tarball/master もしくは % cpanm-github akiym/…

Term::ReadLine::Gnuが入らないときには(homebrew編)

homebrewでreadlineをインストールしたのにTerm::ReadLine::Gnuが入らないときには % brew link readline すると解決できます。

githubのソースコードをcpanmしてインストールしたい

e.g. ド素人がYouTubeの"402 Payment Required"と戦うために「listpod-app-lite」 - アリ tokuhirom/toktools · GitHubにcpanm-githubがあるのでダウンロードして使う。 githubのソースコードはApp::ghを使うと簡単にダウンロードできる。 % gh clone tokuhi…

GyazoサーバをMojolicious::Liteで書いた

404 Not Found - ゆーすけべー日記 より Gyazoクライアント側の仕様が変わった*1ので、Mojolicious::Liteで書いてみた。手軽に書けるのがMojolicious::Liteのいいところ。 Mojo::Utilのmd5_sum()とDigest::MD5のどちらを使うべきが迷うところ。だけど、Mojo:…

WebService::Simpleを使ってGoogle CGI API for Japanese Input

Google 日本語入力 - CGI API デベロッパーガイド WebService::Simpleを使って書いてみました。 しかし、返ってくるJSONがクセモノで、"\uXXXX"形式でUnicodeエスケープされていて、末尾にカンマを付けてくるので注意。 Encode::JavaScript::UCSとJSON->new-…

Email::Sender - GmailのSMTPサーバー経由でメール送信

追記 Gmailから送信したい場合は、Email::Sender::Transport::SMTP::TLSを使えばいいみたいですね。 Perl5 によるメール送信 - 実践的な Email::Sender の利用方法←追記されています Perl5 によるメール送信 - 実践的な Email::Sender の利用方法より Gmail…

ド素人がYouTubeの"402 Payment Required"と戦うために「listpod-app-lite」

ListPodというサービスをご存知でしょうか。僕はついさっき知りました :) 今からでも、遅くないはず、ということで早速使ってみようとしたのですが… YouTubeの"402 Payment Required"と戦うために「listpod-app-lite」 一つのサービスに集中していたダウンロ…