Mercurial > hg > xslscript
comparison xslscript.pl @ 9:e93b6e98b817
XSLScript: -o option.
Usable for more or less safe output in makefiles.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 26 Feb 2014 03:41:33 +0400 |
parents | 86721b270ebb |
children | cb41e7c634c5 |
comparison
equal
deleted
inserted
replaced
8:86721b270ebb | 9:e93b6e98b817 |
---|---|
22 use Data::Dumper qw/Dumper/; | 22 use Data::Dumper qw/Dumper/; |
23 | 23 |
24 ############################################################################### | 24 ############################################################################### |
25 | 25 |
26 my $dump = 0; | 26 my $dump = 0; |
27 my $output; | |
27 | 28 |
28 GetOptions( | 29 GetOptions( |
30 "output|o=s" => \$output, | |
29 "trace!" => \$::RD_TRACE, | 31 "trace!" => \$::RD_TRACE, |
30 "hint!" => \$::RD_HINT, | 32 "hint!" => \$::RD_HINT, |
31 "dump!" => \$dump, | 33 "dump!" => \$dump, |
32 ) | 34 ) |
33 or die "oops\n"; | 35 or die "oops\n"; |
422 $lines = <>; | 424 $lines = <>; |
423 } | 425 } |
424 | 426 |
425 my $tree = $parser->startrule($lines) | 427 my $tree = $parser->startrule($lines) |
426 or die "Failed to parse $ARGV.\n"; | 428 or die "Failed to parse $ARGV.\n"; |
429 my $formatted = format_tree($tree); | |
430 | |
431 if (defined $output) { | |
432 open STDOUT, ">", $output | |
433 or die "Can't open $output: $!\n"; | |
434 } | |
427 | 435 |
428 if ($dump) { | 436 if ($dump) { |
429 print Dumper($tree); | 437 print Dumper($tree); |
430 exit(0); | 438 exit(0); |
431 } | 439 } |
432 | 440 |
433 print format_tree($tree); | 441 print $formatted; |
434 | 442 |
435 ############################################################################### | 443 ############################################################################### |