mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-27 03:36:39 +00:00
43 lines
831 B
Perl
43 lines
831 B
Perl
|
#! /usr/bin/env perl
|
||
|
|
||
|
use strict;
|
||
|
|
||
|
# Syntax: ReplaceValues.pl [<var1>=<Subst1> [<var2>=<Subst> ...]] <Inputfile> [<Inputfile> ...]
|
||
|
|
||
|
|
||
|
# Parse Arguments for strings to substitute
|
||
|
|
||
|
my %Subst = ();
|
||
|
|
||
|
for my $arg (@ARGV) {
|
||
|
if ($arg =~ /^([^=]+)=(.*)$/) {
|
||
|
$Subst{$1} = $2;
|
||
|
}
|
||
|
else {
|
||
|
# $arg should be filename here
|
||
|
&SubstituteDataInFile($arg);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
exit(0);
|
||
|
|
||
|
#################################################################
|
||
|
sub SubstituteDataInFile($)
|
||
|
{ my ($InFile) = @_;
|
||
|
open(FI, '<', $InFile) || die("Could not read \"$InFile\"");
|
||
|
while (my $l = <FI>) {
|
||
|
print &SubstituteDataInLine($l);
|
||
|
}
|
||
|
close(FI);
|
||
|
}
|
||
|
|
||
|
sub SubstituteDataInLine($)
|
||
|
{my ($line) = @_;
|
||
|
my $result = $line;
|
||
|
for my $k (keys %Subst) {
|
||
|
while ($result =~ s/\b$k\b/$Subst{$k}/) {
|
||
|
}
|
||
|
}
|
||
|
return($result);
|
||
|
}
|