[EMAIL PROTECTED] wrote: >Hi, > >I have to search and replace 'foo' to 'bar' in all the files in a >directory(has subdirectories). The files are about 40k in size. > >What is the most efficient way to implement this inside a perl >program ? There are about 30 files to be processed. I went through >perldoc perlrun and saw the code. > I don't know if this is the most efficient way, but it works:
#!/usr/bin/perl -w use strict; use File::Find; find \&process, $ARGV[0]; sub process { $filename = $File::Find::name; open IN, "$filename" or die "Couldn't open $filename for reading: $!"; $^I = ""; while (<IN>) { s/foo/bar/g; } close IN; print "Updated file $filename\n"; } - Jan -- If all else fails read the instructions. - Donald Knuth -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>