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