Обьясните чайнику разницу между операторами (+< +>) открытия файлов.
Как я понял оператор +> открывает файл на чтение-запись
а +< открывает вообще непонятно для чего (чтение-чтение??).
Суть в следующем я открываю файл в режиме чтения-записи(+>)
чтобы обновить хранящуюся в нём информацию
и записать поверх старой инфы новую.
open(FILE,"+>$var_some_file");
#считываю весь файл в $all_info
$all_info=<FILE>;
#Заменяю старые (известные) значения новыми
$all_info=~ s/$old_value/$new_value/;
#усекаю файл до новой длины
truncate(FILE,length($all_info));
#перемещаюсь в начало файла
seek(FILE,0,0);
#Записываю обновленую информацию
print FILE $all_info;
close(FILE);
РЕPУЛЬТАТ нулевой файл оказывается ПУСТОЙ.
Зато работает этот код (который мне не совсем понятен)
#Открываю файл на чтение=чтение ??
open(FILE,"+<$var_some_file");
$all_info=<CHATTERS>;
$all_info=~ s/$old_info/$new_info/;
truncate(CHATTERS,length($all_info));
# Rewind to the beginning of the file...
#Перемещаем указатель позицию Взад, запись задом наперед ??
seek(CHATTERS, length($all_info) * -1, 2);
print CHATTERS $chatters;
close(CHATTERS);
Да и еще такой вопрос что означает оператор .=
Если я прально понимаю это конкатенация строк ?
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Оператор связи (2012)
- Форум перегрузка оператора << (2012)
- Форум Перегрузка оператора (2015)
- Форум перегрузка операторов (2013)
- Форум Приоритет операторов (2017)
- Форум Перегрузка оператора << (2018)
- Форум Оператор ввода (2014)
- Форум оператор delete (2010)
- Форум [php]оператор @ (2010)
- Форум Оператор биореактора (2008)