#!/usr/bin/env perl ########################################################################### # qgm2cpp.pl # --------------------- # begin : December 2009 # copyright : (C) 2009 by Juergen E. Fischer # email : jef at norbit dot de ########################################################################### # # # This program is free software; you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation; either version 2 of the License, or # # (at your option) any later version. # # # ########################################################################### use XML::Simple; use Data::Dumper; print <{$b}; die "expected string" unless ref($label) eq ""; print STDERR "warning[$file]: '$label' should start with a uppercase character or digit and not start or end with whitespaces" if $label =~ /^\s+/ || $label =~ /\s+$/ || $label !~ /^[A-Z0-9(]/; $label =~ s/^\s+//; $label =~ s/\s+$//; $label = ucfirst $label; $labels{$label} = 1; } else { parse($a->{$b}); } } # } elsif(ref($a) eq "") { # warn "found: " . $a; # } else { # warn "found: " . ref($a) . " " . Dumper($a); } } } open I, "find src/plugins/grass -name '*.qgm' -o -name '*.qgc'|"; while($file = ) { #print STDERR "$file\n"; chop $file; parse XMLin($file, ForceArray=>1); #print STDERR "$file DONE\n"; } close I; foreach (sort keys %labels) { s/\\/\\\\/g; s/"/\\"/g; s/\n/\\n/g; print "translate( \"grasslabel\", \"$_\" );\n"; }