steffen: server/perl-kolab/Kolab-Conf Conf.pm,1.42,1.43

cvs at intevation.de cvs at intevation.de
Mon Nov 8 11:42:28 CET 2004


Author: steffen

Update of /kolabrepository/server/perl-kolab/Kolab-Conf
In directory doto:/tmp/cvs-serv23673/Kolab-Conf

Modified Files:
	Conf.pm 
Log Message:
support for else-blocks

Index: Conf.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/Kolab-Conf/Conf.pm,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- Conf.pm	18 Oct 2004 14:18:09 -0000	1.42
+++ Conf.pm	8 Nov 2004 10:42:26 -0000	1.43
@@ -114,6 +114,7 @@
     #Kolab::log('T', "Using temporary file '".$config->filename."'", KOLAB_DEBUG );
 
     my $skip = 0;
+    my $keep = 0;
     while (<$template>) {
     	#Eat the meta data sections
 	if (/^KOLAB_META_START$/) {
@@ -127,11 +128,24 @@
         if (/\@{3}if (\S+?)\@{3}/) {
             if ($Kolab::config{$1} && lc($Kolab::config{$1}) ne "false" ) {
                 # Keep text
+		$keep = 1;
             } else {
                 # Skip text
                 $skip++;
+		$keep = 0;
             }
             s/\@{3}if (\S+?)\@{3}\n?//;
+	} elsif (/\@{3}else\@{3}/) {
+	    if( $keep == 0 ) {
+		# Now keep
+		$keep = 1;
+		$skip--;
+	    } else {
+		# Now skip
+		$keep = 0;
+                $skip++;
+	    }
+            s/\@{3}else\@{3}\n?//;
         } elsif (/\@{3}endif\@{3}/) {
             ($skip > 0) && $skip--;
             s/\@{3}endif\@{3}\n?//;





More information about the commits mailing list