ysh - コマンドラインでYAML~Perlデータ変換を試せる YAML::Shell

台湾滞在最終日に、台北駅でばったり Ingy と会って、これから師大夜市近くの
Mo!relax Cafe というカフェでハックするというので、合流した。
無料の Wi-Fi が飛んでいて、快適な環境。みんなパソコンを広げてる。
そこで、YAML の話をしていて、ysh コマンドを教えてもらった。



cpanm + ysh のインストール


とりあえず、まだ cpanminus がインストールされていない場合は、
まず cpanm をインストールしよう。

$ sudo wget -O /usr/bin/cpanm http://cpanmin.us/
$ sudo chmod 755 /usr/bin/cpanm

次に、YAML::Shell モジュールをインストールする。
もちろん、cpanm を使わずに、cpan コマンドでも OK です。

$ sudo cpanm -v YAML::Shell

YAML::Shell モジュールがインストールされると、ysh コマンドが利用可能になります。

Perl → YAML 変換


ysh では、Perl の文法でハッシュや配列を書くと、YAML に変換して、
エンコード結果を表示してくれます。
$ ysh
ysh > [1,2,3]
---
- 1
- 2
- 3

ysh > {foo=>bar, hoge=>pomu}
---
foo: bar
hoge: pomu

YAML → Perl 変換


反対に、「---」で書き始めると、yaml モードになって、
YAML で記述した内容をデコードして、Data::Dumper 経由で Perl の配列や
オブジェクトとして表示してくれます。
YAML を書き終えたら「...」を入力します。
$ ysh
ysh > ---
yaml> - 1
yaml> - 2
yaml> - 3
yaml> ...
$VAR1 = [
'1',
'2',
'3'
];

ysh > ---
yaml> foo: bar
yaml> hoge: pomu
yaml> ...
$VAR1 = {
'foo' => 'bar',
'hoge' => 'pomu'
};

YAML::* モジュールの選択


ysh は、YAML::Any 経由で利用する YAML::* モジュールを選択するみたい。
特定の YAML モジュール、例えば YAML::Syck を使いたい場合は、
以下のように -M オプションでモジュール名を指定する。

$ ysh -MYAML::Syck

もっと詳しい使い方は、Perldoc.jphio さんのところのドキュメントを参照ください。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック