HI
Pass the parameters in double quotes or simply $a, $b. Like below
&replace_txt("$a", "$b");
&replace_txt($a, $b);
Single quotes doesn't interpolate the variables.
Thanks,
Suresh
<============>
Hello,
I want to replace text in file.
So, I wrote subroutine like this:
sub replace_txt {
my ($old,$new) = @_;
open (FILE,"<$ARGV[0]");
while(my $line = <FILE>) {
$line =~ s/$old/$new/g;
print $line;
}
close(FILE);
}
when I use this subroutine line this:
&replace_txt('$a', '$b');
but It doesn't work. $a in $ARGV[0] is still $a.
But, when I rewrite my subroutine like this:
sub replace_txt {
open (FILE,"<$ARGV[0]");
while(my $line = <FILE>) {
$line =~ s/\$a/\$b/g;
print $line;
}
close(FILE);
}
It work fine. but I want to pass old and new text to subroutine as argument.
How to do this?
I search about this but I can't find any help so please help me.
=============