Mercurial > repos > ondovb > tabular2html
comparison tabular2HTML.pl @ 0:a5814dd5a11a default tip
Uploaded
| author | ondovb |
|---|---|
| date | Fri, 23 Sep 2011 17:06:15 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:a5814dd5a11a |
|---|---|
| 1 | |
| 2 use strict; | |
| 3 | |
| 4 my ($table, $input, $output, @spans) = @ARGV; | |
| 5 | |
| 6 # positions that should have dark right borders | |
| 7 # | |
| 8 my %dark; | |
| 9 | |
| 10 foreach my $span ( @spans ) | |
| 11 { | |
| 12 if ( $span > 1 ) | |
| 13 { | |
| 14 # only initialize if there are any spans more than 1 | |
| 15 | |
| 16 pop @spans; | |
| 17 my $i; | |
| 18 | |
| 19 foreach my $span ( @spans ) | |
| 20 { | |
| 21 $i += $span; | |
| 22 $dark{$i - 1} = 1; | |
| 23 } | |
| 24 | |
| 25 last; | |
| 26 } | |
| 27 } | |
| 28 | |
| 29 open TABLE, ">>$table" or die $!; | |
| 30 open INPUT, "<$input" or die $!; | |
| 31 | |
| 32 my $parity; | |
| 33 | |
| 34 while ( my $line = <INPUT> ) | |
| 35 { | |
| 36 chomp $line; | |
| 37 | |
| 38 my @vals = split /\t/, $line; | |
| 39 | |
| 40 $parity = ( $parity eq 'odd' ? 'even' : 'odd' ); | |
| 41 | |
| 42 print TABLE "<tr class='$parity'>"; | |
| 43 | |
| 44 for( my $i = 0; $i < @vals; $i++ ) | |
| 45 { | |
| 46 my $val = $vals[$i]; | |
| 47 my $class; | |
| 48 | |
| 49 if ( $dark{$i} ) | |
| 50 { | |
| 51 $class = ' class="darkRight"'; | |
| 52 } | |
| 53 | |
| 54 $val =~ s/</</; | |
| 55 $val =~ s/>/>/; | |
| 56 | |
| 57 print TABLE "<td$class>$val</td>"; | |
| 58 } | |
| 59 | |
| 60 print TABLE "</tr>\n"; | |
| 61 } | |
| 62 | |
| 63 close INPUT; | |
| 64 | |
| 65 print TABLE "</table></body></html>\n"; | |
| 66 | |
| 67 close TABLE; | |
| 68 | |
| 69 `mv $table $output`; |
