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";