Задача такова: нужно в файлах определённого каталога произвести замену текста. Пытаюсь делать так:
#/usr/bin/perl
opendir(DIRDOC,"./doc") or die "Error open directory, $!";
while($currentfile=readdir(DIRDOC))
{
if($currentfile=~m/.*\.html*/)
{
sysopen(SOURCEFILE,"путь".$currentfile,O_RDWR) or die "Error open file $currentfile: $!";
@content=<SOURCEFILE>;
foreach(@content)
{
$_=~s/\/doc\//\.\.\/doc\//g;
}
seek(SOURCEFILE,0,0);
$/="\n";
print(SOURCEFILE @content);
close(SOURCEFILE);
}
}
closedir(DIRDOC);
Хотя содержимое коллекции, прочитанной из файла, и меняется, записать обратно её не удаётся. Где я лопухнулся?