Dan the API shell 書いた
Dan さんの perl eval API が便利だとおもった。どんなコードが実行できるのかためしたかったので、shell っぽく eval することにした。
Term::ReadLine で shell っぽく入力させて、URI::Escape でエスケープして、LWP::UserAgent で API になげて JSON.pm で eval させてるだけ。
以下は実行例
dan> use XML::LibXML; Warning: XML::LibXML compiled against libxml2 20703, but runtime libxml2 is older 20702 dan> unpack 'p', 0xdeadbeef; dan> print "$ENV{SERVER_ADMIN}\n"; <ちょ、メアドみえてる>@gmail.com dan> print $], "\n"; 5.008009 dan> print "$ENV{SERVER_SOFTWARE}\n"; Apache/2.0.63 (FreeBSD) mod_perl/2.0.4 Perl/v5.8.9 dan> print join "\n", @INC; /usr/local/lib/perl5/5.8.9/BSDPAN /usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/mach /usr/local/lib/perl5/5.8.9 . dan> use Config; print join "\n", @Config{qw/myuname myhostname mydomain myarchname perladmin/}; freebsd freebsd.org 7.1-stable freebsd 7.1-stable #0: sun feb 8 13:18:55 pst 2009 [email protected]:usrsrcsysmagickernelpath i386 jail-32 .isc.freebsd.org i386-freebsd [email protected] dan> ls /usr/local/lib/perl5/site_perl/5.8.9/Mouse/Meta/ /usr/local/lib/perl5/site_perl/5.8.9/Mouse/Meta/. /usr/local/lib/perl5/site_perl/5.8.9/Mouse/Meta/.. /usr/local/lib/perl5/site_perl/5.8.9/Mouse/Meta/Attribute.pm /usr/local/lib/perl5/site_perl/5.8.9/Mouse/Meta/Class.pm /usr/local/lib/perl5/site_perl/5.8.9/Mouse/Meta/Method /usr/local/lib/perl5/site_perl/5.8.9/Mouse/Meta/Role.pm