01 | #!/usr/bin/perl -w |
02 | |
03 | my $ifile = shift ; |
04 | my $blank = 0; |
05 | my $indent = 2; |
06 | open (IFILE, "$ifile" ) or die "Cannot open $ifile\n" ; |
07 | while ( my $line = <ifile>) { |
08 | if ( $line =~ /^\s* else /i |
09 | or $line =~ /^\s*end/i |
10 | ) { #reduce indent before xxx |
11 | $blank = $blank - 2; |
12 | } |
13 | if ( $blank > 0) { |
14 | print " " x $blank ; #print several blanks |
15 | print "$line" ; |
16 | } else { |
17 | print "$line" ; |
18 | $blank = 0; |
19 | } |
20 | if ( $line =~ /^\s* if /i |
21 | or $line =~ /^\s* else /i |
22 | or $line =~ /^\s*loop/i |
23 | ) { #increase indent after xxx |
24 | $blank = $blank + 2; |
25 | } |
26 | } |
27 | </ifile> |