Hi, > I am unable to modify the input file , > If I am redirecting output to with different file name it working fine > In want to replace name in a file
> $filename = <STDIN>; > open(OUTPUT,">filename"); As I understand, you want to modify $filename. so second line is actually : open(OUTPUT,">$filename"); ^^^ So, when you open the same file with > you erase its content and erase the content of INPUT filehanfle as well. To protect the content of the input file, you can assign an array. open (IN, $filename); @content = <IN>; # then, open (OUT, ">$filename"); But it would be best, first you create a temporary file, finally copy its content into $filename. By some reason your script may fail in an unpredicted line, and your file is gone... print " Enter the file Name \n"; $filename = <STDIN>; # probably you want no newline char at the end of a filename. # chomp erases newline, return carriage character from the end of a # string chomp($filename); open(INPUT,"<$filename"); #save content of file and filehandle @INPUT = <INPUT>; open(OUTPUT,">filename"); foreach (@INPUT) { if($_ =~ s/FRCC/FRE/) { print OUTPUT "$_"; } else { print OUTPUT "$_"; } } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/