2009/06/21
Perlで書く 2009.06.21 Vol.236
===================================================================== Perlで書く 2009.06.21 Vol.236 [WAZA]JavaScriptソースの整形 http://www2u.biglobe.ne.jp/~MAS/perl/ ===================================================================== ●JavaScriptソースの整形 JavaScript::Swellモジュールを使います。 --------------------------------------------------------------------- use strict; use warnings; use JavaScript::Swell; my $script = <<'EOD'; function (source) { var getLineNumber=function (space,width,lineNumber) { return (space+lineNumber).slice(-width); }; var lines = source.split("\n"); var data = ''; var width = (""+lines.length).length; space = ''; for (var i=0; i<width; i++) {space += ' ';} for (var i=0; i<lines.length; i++) { data+=getLineNumber(space,width,i+1)+': '+lines[i]+"\n"; } return data; } EOD my $swelled = JavaScript::Swell->swell($script); print $swelled, "\n"; --------------------------------------------------------------------- swellメソッドの代わりにsquishメソッドを使うと読みにくくすることが できます。空白や改行を削除するので、スクリプトのサイズを小さくしたい ときに使えます。 --------------------------------------------------------------------- use strict; use warnings; use JavaScript::Swell; my $script = <<'EOD'; function (source) { var getLineNumber=function (space,width,lineNumber) { return (space+lineNumber).slice(-width); }; var lines = source.split("\n"); var data = ''; var width = (""+lines.length).length; space = ''; for (var i=0; i<width; i++) {space += ' ';} for (var i=0; i<lines.length; i++) { data+=getLineNumber(space,width,i+1)+': '+lines[i]+"\n"; } return data; } EOD my $squished = JavaScript::Swell->squish($script); print $squished, "\n"; --------------------------------------------------------------------- ●関連項目 ・Perlソースの整形 http://www2u.biglobe.ne.jp/~MAS/perl/waza/tidy.html ===================================================================== ■雑記 Perlを編集しながら評価できるEditor(*1)というブログの記事があり ました。記事によりますと、実行結果と評価結果を簡単に表示してくれる エディタです。ちょっとした動作を確認したいときにはお手軽でよさそう です。 実行結果だけで評価結果は表示しませんけど私の作成しているデータ 変換器(*2)もお手軽にPerlのスクリプトを実行できますので、もしよければ 使ってみてください。 *1 http://d.hatena.ne.jp/Horiuchi_H/20090613/1244875956 *2 http://www2u.biglobe.ne.jp/~MAS/soft.html#dconv ===================================================================== Perlで書く(マガジンID:0000109251) 配信数:840 発行者:MAS 本メールマガジンに関するご意見・お問い合わせは t-masuda@mvd.biglobe.ne.jp までお寄せ下さい。 解除 http://www2u.biglobe.ne.jp/~MAS/perl/magazine.html 検索 http://www2u.biglobe.ne.jp/~MAS/perl/search/index.html バックナンバー http://archive.mag2.com/0000109251/index.html RSS http://archive.mag2.com/0000109251/rss10.xml 本メールマガジンは「まぐまぐ」 http://www.mag2.com/ を利用して発行 しています。 =====================================================================



