假设我有一些Perl代码,看起来像这样
use Data::Dump q[pp];
sub something{
return 2 + 2;
}
我希望perltidy将其格式化为
use Data::Dump q[pp];
sub something{
return 2 + 2;
}
也就是说,所有的前导空格都被消除,所有的行都向左对齐,但随后应用缩进规则。我试过-dws
,但没有工作,没有其他选择似乎做任何事情。这可能吗?
如图所示,这是不可能的。
一些额外的实验表明,只要至少有一行(可以包含任何)缩进少于四个空格的文件上也会缩进希望在原来的问题。
对于这种特定类型的示例的解决方案是在Makefile中包含预处理步骤,在运行perltidy之前简单地消除所有空白行和留下的空间。这就解决了问题。
sed -i -e 's/^[ t]*//' file.pl
sed -i -e '/./!d' file.pl
perltidy file.pl