#!/usr/bin/perl  -i

$myvar=shift(@ARGV);
if ($myvar=~/(.+)=(.+)/) {
        $myvar=$1;
        $myval=$2;
} else {
        $myval=shift(@ARGV);
}
$myfile=$ARGV[0];




if ($myfile) {
use File::Copy;

print "going to set $myvar to $myval in $myfile\n";
$myfilebackup="$myfile.bak";

#rename $name, "$myfile.bak" or die "Cannot backup $myfile: $!";
copy( $myfile, $myfilebackup ) or die "Backup Copy failed: $!";

open IN, "<$myfilebackup" or die "Cannot open: $!";
open OUT, ">$myfile" or die "Cannot create: $!";
#while (<IN>) {
#print OUT $_ unless /^warning:/i;
#}

$found=0;

#open CONF, "$myfile" or die "can't open $myfile $!";
while (<IN>) {
	if (/^\S*\Q$myvar\E\=/) {
		print OUT "$myvar=\'$myval\'\n";
		$found=1;
	} else {
	print OUT;
	}
	#s/.*$myvar=.*/$myvar=\'$myval\'/
}
#print "found is $found\n";
if (!($found)) {
	print OUT "$myvar=\'$myval\'\n";
}

close ($IN);
close ($OUT);

} else {
	print "Usage:  bashconfset.pl variable[=]value file\n";
	exit 2
}
