On Mon, Jun 11, 2012 at 05:57:41PM -0400, Alvaro Herrera wrote:
> What about something like this in the root of the tree:
> find . -name \*.pl -o -name \*.pm | xargs perltidy -b -bl -nsfs -naws -l=100 -ole=unix
>
> There are files all over the place. The file that would most be
> affected with one run of this is the ECPG grammar generator.
>
> I checked the "-et=4" business (which is basically entab). We're pretty
> inconsistent about tabs in perl code it seems; some files use tabs
> others use spaces. Honestly I would just settle on what we use on C
> files, even if the Perl devs don't recommend it "because of
> maintainability and portability". I mean if it works well for us for C
> code, why would it be a problem in Perl code? However, I don't write
> much of that Perl code myself.
+1 for formatting all our Perl scripts and for including -et=4. Since that
will rewrite currently-tidy files anyway, this is a good time to audit our
perltidy settings.
Why -l=100 instead of -l=78 like our C code?
perltidy changes this code:
for ($long_variable_name_to_initialize = 0; $long_variable_name_to_initialize < $long_limit_variable_name;
$long_variable_name_to_initialize++){
to this:
for ( $long_variable_name_to_initialize = 0; $long_variable_name_to_initialize < $long_limit_variable_name;
$long_variable_name_to_initialize++ ){
Using -vtc=2 removes the new trailing line break. Additionally using "-vt=2
-nsak=for" removes the new leading line break, but it also removes the space
between "for" and "(". Anyone know how to make perltidy format this like we
do in C code?
Why -naws? I would lean toward "-aws -dws -pt=2" to change code like this:
-my $dbi=DBI->connect('DBI:Pg:dbname='.$opt{d});
+my $dbi = DBI->connect('DBI:Pg:dbname=' . $opt{d});
I'd also consider -kbl=2 to preserve runs of blank lines that the author used
to delineate related groups of functions.
Thanks,
nm