Войти

Показать полную графическую версию : запись в файл на Perl


koresaram
15-03-2006, 17:57
привет народ. есть ламерский но очень срочный вопрос :)
задача - записать в файл строчку с данными. строчка должна выглядеть так: 'ext_1',"Александр"
я пишу код
open (NEW,">>$newpath/$f");
print NEW "\'ext_1\',\"$data[1]\"";
в $data[1] у меня записано Александр. в итоге в новом файле у меня записывается:
'ext_1',"Александр
"
то есть двойная кавычка с какого-то перепоя уходит на другую строку. вопрос - где у меня ошибка кроме как в ДНК :)

mrcnn
15-03-2006, 21:11
мне кажется, что в $data[1] в конце символ перехода на новую строку. Отрежь его либо с помощью chop($data[1]) либо chomp($data[1]);

?

koresaram
16-03-2006, 11:12
чувак, ты гений :) спасибо!
open (NEW,">>$newpath/$f");
chomp($data[1]);
print NEW "\'ext_1\',\"$data[1]\"\n";
print "выполнено добавление имени $data[1] в файл $f";
close (NEW);
тепер пишет как надо :)
'ext_1',"Ольга"

koresaram
16-03-2006, 13:46
народ, а вот еще вопрос созрел - теперь мне надо заменить в этом файле строку 'language',"English" на 'language',"Russian"
я пишу
$newpath="../testcatalog1";
opendir(MD,"$newpath/");
@files = readdir(MD);
foreach $f (@files)
open (OLD,"$newpath/$f");
@data=<OLD>;
s/English/Russian/;
close (OLD);
}
closedir(MD);
но чет он ничего у меня не меняет.




© OSzone.net 2001-2012