lemonldap-ng/scripts/transform-templates

37 lines
657 B
Perl
Executable File

#!/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);
}
}