ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra/bin/cfmap-set
Revision: 1.1
Committed: Sat May 15 00:22:27 2010 UTC (14 years ago) by root
Branch: MAIN
CVS Tags: rel-2_01, rel-2_0, HEAD
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 #!/opt/bin/perl
2    
3     # Usage: cfmap-set var=value map...
4     # example: cfmap-set music=@tavern **/inn.map
5     # modify the given map header in all maps
6    
7     use common::sense;
8    
9     use Deliantra;
10     use Deliantra::Map;
11     use Tie::Cache;
12     use Errno;
13    
14     (shift) =~ /^(\S+?)=(.*)$/
15     or die "Usage: $0 var=value map...";
16    
17     my ($var, $value) = ($1, $2);
18    
19     $|=1;
20    
21     for my $path (@ARGV) {
22     print "$path... ";
23    
24     my $map = new_from_file Deliantra::Map $path
25     or die "$path: file load error\n";
26    
27     if ($map->{info}{$var} eq $value) {
28     print "unchanged\n";
29     } else {
30     if (length $value) {
31     $map->{info}{$var} = $value;
32     } else {
33     delete $map->{info}{$var};
34     }
35     $map->write_file ($path);
36     print "updated\n";
37     }
38    
39     }
40