焼きサンマ綺麗に食べるブログ

焼きサンマ食べたい

GraphViz関係のモジュール試した

Twitter

GraphViz::ISA::Multi入れた

http://twitter.com/zigorou/statuses/778471652

この発言があったときに、このモジュールは何ぞやということで、もう一度GraphVizのモジュールをCPANで検索してみたら、GraphViz::ISA::Multiみたいにグラフを自動生成するけいのモジュールが結構あった。

GraphViz::ISA::Multiの使用例はGraphViz::ISA::MultiでDBICのクラスツリーを作る - Yet Another Hackadelicをみてください)

GraphVizモジュールのパッケージ(GraphViz-2.03 - graph Ximian RedCarpet dependencies - metacpan.org)だけでも結構あるようで、なかなか楽しめそうです。

今回はその中でもGraphViz::Regexを試してみた。

ドキュメントを見るとソースは載っているけど、肝心のグラフがない。

ということで、サンプルそのままでやってみた。

結果を先に示すと

こんな感じになります。

データ構造を図示できるのって楽しいですね。

ソースは以下の通りです。

#!/usr/bin/env perl

package main;
use strict;
use warnings;
use Carp;
use utf8;

use GraphViz::Regex;

my $regex = '(([abcd0-9])|(foo))';

my $graph = GraphViz::Regex->new($regex);
$graph->as_png($ARGV[0]);

1;
__END__