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ソースの整形