You are only opening the file for read. If you want to change the file you have to write it somewhere.
=) > -----Original Message----- > From: Johnson, Shaunn [mailto:[EMAIL PROTECTED]] > Sent: Thursday, July 11, 2002 10:52 AM > To: [EMAIL PROTECTED] > Subject: search and replace problem > > > Howdy: > > I know this should be pretty simple, but I must > be missing something in my code. I want to do > the following: > > * get a list of files in a directory > * open each file > * search and replace the old pattern to a new pattern > (should only be one occurrence) > * close file > * close dir > * do next one until the end of list > > But nothing is happening (that I can see). > What am I doing wrong? > > ### perl code ### > #!/usr/bin/perl -w > use diagnostics; > > # > # this is a script to look for and change the password > # for the sql scripts that i have lying around for production > # i'm at the point where i need to be a bit more lazy. > # > > # create a few variables > > my $sqldir='/samba/sql_scpt'; > my $pattern="jun12"; > my $newpattern="jul12"; > > opendir (DIR, $sqldir) or die "can nae access B drive mounted > directory: > $!"; > > # create and array and read in a list of files but NOT > # root and current dir > > my @list = grep {$_ ne 'temp' and $_ ne 'devel' and $_ ne '.' > and $_ ne > '..'} readdir(DIR); > > # create a loop to search for one instance of > # my password and change it to something else > # one day, i'll get smart and ask for a paramater, too > > > for my $file(@list) { > open (FILE, $file ) or die "can nae open the file: $!";; > while (<FILE>) { > s!$pattern!newpattern!g ; > } # end while loop > } #end of for loop > > close (FILE); > close (DIR); > __END__ > > ### end of perl code ### > > > Suggestions? Thanks! > > -X > ---------------------------------------------------------------------------- -------------------- The views and opinions expressed in this email message are the sender's own, and do not necessarily represent the views and opinions of Summit Systems Inc. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]