sub buildfile { my($filename)=shift; local $/; open(IN, "<$filename.in") or die "Can't open $filename.in: $!"; my $text=; close(IN) or die "Can't close $filename.in: $!"; $text =~ s/\$\{(\w+)\}/$c{$1}/g; $filename =~ s/_/./; #config_h => config.h open(OUT, ">$filename") or die "Can't open $filename: $!"; print OUT $text; close(OUT) or die "Can't close $filename: $!"; }