#!/bin/bash
set -e
-. settings
-export GROUP
-export ABBREV
-export INFOHEADER
-find -name '*.IN[O1]' -exec perl -e '
+
+. ./get-settings
+
+find -name '*.IN[O1]' ! -path '*/skeleton/*' -exec perl -e '
use IO::Handle;
use POSIX;
my $f= shift;
my $g= "$d.new";
open F, "< $f" or die "$f $!";
open G, "> $g" or die "$g $!";
+ stat F or die "$f $!";
+ my $mode= (stat F)[2];
while (<F>) {
s/\%(\w+)\%/
- exists($ENV{$1}) ? $ENV{$1} : die "$1 ?"
+ exists($ENV{$1}) ? $ENV{$1} : die "$1 undef at $f:$.\n"
/ge;
print G or die $!;
}
F->error and die $!;
- close F or die $!;
close G or die $!;
+ if ($mode & 01) {
+ chmod 0755, $g or die "$g $!";
+ }
+ close F or die $!;
if ($overwrite) {
rename $g, $d or die "$g $d $!";
} else {