perl

Graphviz::DSL 0.02をリリースしました

Graphviz-DSL-0.02 - Graphviz Perl interface with DSL - metacpan.org Graphviz::DSL 0.02をリリースしましたので、非互換修正、新機能に ついて紹介します。 リポジトリ syohex/p5-Graphviz-DSL · GitHub 非互換な修正 edgeメソッドの第一引数が Stringか…

Release AnyEvent::MPRPC 0.18

https://metacpan.org/release/AnyEvent-MPRPC AnyEvent::MPRPC 0.18をリリースしました。 pull requestをしたらメンテナになりました。 変更点 Clientの callメソッドの RPCの parametersに ArrayRefしか 指定できない問題があったのですが、ArrayRefでなく…

Graphviz::DSLをリリースしました。

https://metacpan.org/release/SYOHEX/Graphviz-DSL-0.01 Ruby Gemの Gvizの移植版ということで Graph::Gvizという名前を つけていたんですが、それだけだと何をするものかわからないという 意見をいただいたので Graphviz::DSLという名前にしました。 機能 …

Graph::Gvizで大阪市営地下鉄を描いてみた

東京の地下鉄の路線サインをGviz(Ruby Graphviz Wrapper)で描く を参考に Graph::Gvizを使って、大阪市営地下鉄を描いてみました。 関連リポジトリ https://github.com/syohex/p5-Math-Normalize-Range 大して探していないんですが、緯度・経度の正規化に…

Gvizを Perlに移植しました

Yet Another Ruby Graphviz Interfaceを作ったからみんなで大量のグラフを作って遊ぼうよ! DSLで DOTファイルが生成できるのがいいなぁと思ったのと、 Rubyの勉強を兼ねて移植してみました。 リポジトリ Graph-Gvizじゃ目的がわからないという意見をいただ…

Re: 複数バージョンの Perl のモジュールインストール状況を調べるスクリプト

複数バージョンの Perl のモジュールインストール状況を調べるスクリプト | ミヤビッチの穴 が "perlbrew exec"使ったら One Linerで書けそうだったので 試してみた。 コード % perlbrew exec perl -wle 'do{eval "use $_;1";printf "%s=%s\n", $_, $@ ? "no…

flymakeのためにプロジェクトのトップディレクトリを @INCに加える

perlbrew.elとProject::Libsを使ったflymakeの設定 - delirious thoughts の通りに flymakeを設定したんですが、トップディレクトリが @INCにないので 'use t::Util;'みたいなのを書くとエラーとして 指摘されていました。Project::Libsに pull requestを送…

「You have an old groff. Update to version 1.20.1 for good Unicode support.」の対応

Macとか FreeBSDに Perl 5.16以降を入れて、perldocを使ったとき 以下のようなメッセージが出てしまいました。毎度毎度こんなのが 出てくるのは, うざいのでその対応に関するメモ。 You have an old groff. Update to version 1.20.1 for good Unicode suppo…

delete localに関するメモ

'delete local'というスコープ中だけ deleteするという機能が だいぶ昔(5.12)に入っていたみたいなんですが、知らなかったのでメモ サンプルコード #!perl use strict; use warnings; use 5.012; use Data::Dumper; my %hash = ( apple => 100, melon => 200…

githubでの活動状況を知る

コマンドラインで誰かの githubの活動を知りたいと思って 書いてみました。Web APIで見れるのかもしれないですが、 Atomが提供されていたので手っ取り早くしたかったので Atomで対応しました。 イメージ こんな具合です。 終わりに 気になるあの人の活動に負…

WebService::DMMを書いてみた

DMMがようやく WebAPIを提供ということで書いてみました。 Perlのコードを久しく書いていなかったのでリハビリも兼ねてます。 リポジトリ syohex/p5-WebService-DMM · GitHub サンプルコード #!perl use strict; use warnings; use lib '../lib'; use WebSer…

cperl-modeでの引数の無名関数のインデント

コールバックを引数で取るような関数で無名関数を使ったとき こんな感じにして欲しいところですが、 cperl-modeだとこんな感じか こんな感じに なってしまいます。どうやったら一番上になるんだって思って ソース見ていたらなんとかなりそうだったのでその手…

Simple JSON Parser in Perl

http://d.hatena.ne.jp/sifue/20120218/1329588477 JSONのパーサを書いてみたいと思って写経しようかと思ったんだけど、 個人的にそのままの書き写しはどうも頭に入らないので、Perl版を 書いてみました。 リポジトリ syohex/p5-JSON-Parser-Simple · GitHub…

Perlの $0の変更に関するメモ

少し前に kfreebsdで $0を変更しても psの結果に反映されない ことについて調べたのでメモ。 ソースコード https://github.com/mirrors/perl/blob/blead/mg.c#L2981mg.cの Perl_magic_set関数の switch文の case '0'の部分です。 処理の流れ 以下のいずれか…

Quote::Codeで Rubyっぽく式展開

Quote-Code-1.01 - quoted strings with arbitrary code interpolation - metacpan.org はじめに Perlの文字列中で関数等の結果を展開するとき、ArrayRefで 囲んでそれをデリファレンスする必要がありますが、それを Rubyっぽく書けるようにしてくれるモジュ…

App::trigger進捗

App::triggerというモジュールを書いています。 - Life is very short 数カ月前に書いて放置していたものを、ちゃんとしたものにしようと いうことで最近また書いています。 リポジトリ syohex/p5-App-trigger · GitHub 目的 iTermのトリガ機能を実現し、以…

App::triggerというモジュールを書いています。

Mac - iTerm2で特定文字列をハイライトやGrowl通知する - Qiita を汎用的にできないかなって思って書いてみました。 まだまだ書き始めなので、気になる部分がありますが、とりあえず紹介。 リポジトリ syohex/p5-App-trigger · GitHub 使い方 モジュールをイ…

Lisp in 45 lines of Perl

fogus: Lisp in 32 lines of Ruby 私の力では Rubyほど短く書けませんでした。 (strict, waningsをはずすとかあるかもしれないですが・・・。) コード Rubyの Symbolは先頭が ":"の文字列をそうみなすことで対応しました。 実行結果 結果 10 42 1 (1 2) 1 (2…

Imagerで GIFを作る

"アニメーションGIFシャッフルするやつ"を Perlで書いてみた - Life is very short で Imagerで GIFを簡単に扱えることがわかったんで、 一から作るということをやってみた。 コード 2011年のトップ 20 AV女優の画像を GIF化します。 名前とランクも画像に埋…

"アニメーションGIFシャッフルするやつ"を Perlで書いてみた

アニメーションGIFシャッフルするやつ - ミニマリストhitode909の日記 @hitode909さんの記事の Perl版 コード 実質 3行ぐらいです. #!perl use strict; use warnings; use Imager; use List::Util qw(shuffle); die "Usage: $0 input_gif output_gif" unless…

Text::AAlibをリリースしました。

Text::AAlib - Perl Binding for AAlib - metacpan.org Syohei Yoshida / Text-AAlib-0.01 - search.cpan.org AAlibの Perlバインディングである Text::AAlibをリリースしました。 Sourceforgeには 9年前にプロジェクトだけ登録されていたのですが、ソースは…

Perlで書き初め

あけましておめでとうございます。 今年も何卒よろしくお願いします。 新年の初めなので書き初めをしたいと思います。 元ネタ 週記くらい | Common Lispで書き初め vallog: 2012年が明けたので書き初めしました。lispで。 ソース 試行錯誤して微調整した感じ…

Calendar::Japanese::Holidayを使って少しおしゃれなカレンダー

最近アプリっぽいものを全然書いていなく、書き方を忘れそうだったので、 @sakurako_sさんが Perl Advent Calendarで紹介していたCalendar::Japanese::Holiday を使って、カレンダーアプリケーションを書いてみました。 コード 実行結果 イメージはこんな感…

Acme::Jiroを書きました

「ラーメン二郎」初心者のためのコール(呪文)ジェネレータ を真似して書いてみました。正しくは言う順番があるんでしょうけど、 理解できないので、いい加減です。 リポジトリ syohex/p5-Acme-Jiro · GitHub サンプル #!perl use strict; use warnings; us…

system関数を大量に使うスクリプトのデバッグ

system関数を大量に使うスクリプトを書いたとき、ディレクトリを消すというような 処理がある場合に、実行するのが怖い。コメントアウトして、実行するコマンドを 表示するというのも面倒。なんで環境変数により, system関数を一時的に置き換える ようにして…

Text::UnicodeTable::Simple 0.02をリリースしました

Text-UnicodeTable-Simple-0.02 - Create a formatted table using characters. - metacpan.org 変更点は borderを表示しないオプションの追加 一度に行を追加するメソッド(add_rows)の追加 です。両方共、Text::Tableに影響されたものです。 コード例 #!/us…

Simple Scheme interpreter in Perl

昨日 Brainfuckを書いてみたので、今日は Scheme(Lisp)の処理系を書いてみました。 当然本格的なものではなく、簡単なものです。 Lispy: Scheme Interpreter in Python の Perl版になります。 kidd/hascheme · GitHub に lis.pyにインスパイアされて書いたと…

App::AnyBrainfuckを書いた

設定ファイルから好きな Brainfuckが作れたらいいんじゃなかろうか, と思って書いてみた. 追記 すでに同様のモジュールを makamakaさんが書かれていました。調査不足でした. makamaka/p5-acme-brainfucktory · GitHub http://perl-users.jp/articles/advent-…

xs-modeの設定

以前 List::UtilsBy::XSというモジュールを書いたとき、 c-modeだとなんか変だしということで xsのソースは頑張って text-modeで書いていたけど、専用のがあるだろと思って調べて みると xs-modeというものがあったので、その導入と設定に ついて。 ソース E…

Text::AAlibを書いています。

XSを書く練習の続き。 前回はごりごりとXSで書くというものだったので、 今回はライブラリのバインディングにチャレンジ。 扱うライブラリは An ascii-art library というアスキーアートを作るためのライブラリ。 開発リポジトリ syohex/p5-Text-AAlib · Git…