Revision 0ffb9a462931276c1bb843bcbe8fa597e00e8ab2 authored by Christophe Maudoux on 30 December 2018, 14:22:12 UTC, committed by Christophe Maudoux on 30 December 2018, 14:22:12 UTC
1 parent 7b3e95a
Raw File
transform-templates
#!/usr/bin/perl

use strict;

our $cond     = 1;
our $condDone = 0;
our %args;
for ( my $i = 0 ; $i < @ARGV ; $i += 2 ) {
    $args{ $ARGV[$i] } =
      ( $ARGV[ $i + 1 ] and $ARGV[ $i + 1 ] ne 'no' ) ? 1 : 0;
}

while (<STDIN>) {
    if (m#//if:(\w+)#) {
        $cond     = $args{$1};
        $condDone = $cond;
    }
    elsif (m#//elsif:(\w+)#) {
        if ($condDone) {
            $cond = 0;
        }
        else {
            $cond = $args{$1};
            $condDone ||= $cond;
        }
    }
    elsif (m#//else#) {
        $cond = !$condDone;
    }
    elsif (m#//endif#) {
        $cond = 1;
    }
    else {
        print if ($cond);
    }
}
back to top