Hi, all, I am a total newbie and I have a script here that's behaving strangely. Its purpose is to go into a directory, take the file names, search them for a string and replace it (in this case removing a prefix from the file name) , write the new files to disk, delete the old ones and that's the ball game.
Sadly, it seems to work in an unpredictable manner. Can anyone have a look and see if it's some totally stupid thing I did? Thanks in advance., Nick #Open the directory and name the list of file names opendir(DIR, '/home/bart/dir/backup') or die "Doh\!\n"; @Names = readdir(DIR); #Hopefully gives me the names in a list form closedir(DIR); #close it # foreach file in the directory. foreach $Name (@Names) { #leave out . and .. if ( ($Name eq '.') or ($Name eq '..') ) { next; } #get the remaining content open (FH, "/home/bart/dir/backup/$Name") or die "Fail to open $Name for writing: $!"; $content = join("",<FH>); close FH; # make new file name $Name =~ s/miami-//; $Name =~ s/miami.//; #...do whatever with content here... # open a new file open (FH, ">/home/bart/dir/backup/$Name") or die "Fail to open $Name for writing: $!"; print FH $content; close FH; # ensure FTP user can manipulate the new file chmod (0777, "/home/bart/dir/backup/$Name"); unlink "/home/bart/dir/backup/miami-$Name"; } _______________________________________________ Perl-Unix-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs