# Function Name :: deleteParameterForValue($$$$)
# Input : 1. name of the property file
# 2. Parameter name
# 3. Parameter Value
# 4. Delimiter
# Output : none. Deletes the given parameter from a given file based on value
# Description : Deletes given property from a given file if its value matches the given value
sub deleteParameterForValue($$$$)
{
my ($file, $parameter_name, $parameter_value, $delimiter) = @_;
$parameter_name = &trim($parameter_name);
$parameter_value = &trim($parameter_value);
$delimiter= &trim($delimiter);
$file = &convertSlash(&trim($file));
my $new_str = "";
open (FI, $file) or do { return -1; };
while ()
{
my ($str) = $_;
chomp ($str);
$str = &trim($str);
unless (($str eq "") || (substr($str, 0, 1) eq "#"))
{
my $key = &trim(substr($str, 0, index($str, $delimiter)));
my $value = &trim(substr($str, index($str, $delimiter) + 1));
if (($key eq $parameter_name) && ($value eq $parameter_value))
{
next;
}
$str = join($delimiter, $key, $value);
}
$new_str .= "$str\n";
}
close (FI);
open (FO, ">$file") or do { return -1 };
print FO $new_str;
close(FO);
}
# Input : 1. name of the property file
# 2. Parameter name
# 3. Parameter Value
# 4. Delimiter
# Output : none. Deletes the given parameter from a given file based on value
# Description : Deletes given property from a given file if its value matches the given value
sub deleteParameterForValue($$$$)
{
my ($file, $parameter_name, $parameter_value, $delimiter) = @_;
$parameter_name = &trim($parameter_name);
$parameter_value = &trim($parameter_value);
$delimiter= &trim($delimiter);
$file = &convertSlash(&trim($file));
my $new_str = "";
open (FI, $file) or do { return -1; };
while (
{
my ($str) = $_;
chomp ($str);
$str = &trim($str);
unless (($str eq "") || (substr($str, 0, 1) eq "#"))
{
my $key = &trim(substr($str, 0, index($str, $delimiter)));
my $value = &trim(substr($str, index($str, $delimiter) + 1));
if (($key eq $parameter_name) && ($value eq $parameter_value))
{
next;
}
$str = join($delimiter, $key, $value);
}
$new_str .= "$str\n";
}
close (FI);
open (FO, ">$file") or do { return -1 };
print FO $new_str;
close(FO);
}
No comments:
Post a Comment