|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/371.32 01 Sep 2000 12:38:44 To : perl@ustinov.tstu.ru Subject : Re: flock and $^I=".bak" -------------------------------------------------------------------------------- putr> Здравствуйте, уважаемые! putr> В принципе понятно как пользоваться flock при работе с файлами в ситуации putr> open F,$path; putr> flock(...); putr> do ... putr> close F; putr> А вот как быть когда используется механизм редактирования на месте при putr> помощи putr> $^I=".bak"; putr> @ARGV=("$file"); putr> while (<>) { putr> } putr> Будет ли работать в этом случае flock и в какой момент ее надо вставлять putr> (при установке и при проверке), надо ли делать flock(FILE, LOCK_UN); в putr> этом случае? Вообще возможна блокировка файла в этом случае? И как тогда putr> передать ему FILEHANDLE или OPERATION (а что в этом слачае будет putr> являться operation)? А что ты собираешься лочить? magic filehandle <>? И не надейся. putr> Hе пинайте особо сильно. Просто есть написанный сайт с использованием putr> именно такого метода редактирования файлов, а теперь понадобилось их putr> лочить. Значит, переписать. $^I и flock несовместимы между собой - первый придуман для однострочников и простой обработки толпы файлов за раз, второй - для приложений и аккуратной работы с файлами. putr> Или проще проверять существование .bak файла и удалять его когда putr> файл освободился? Проще. Hо надежности это не прибавит. -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/171219d5e4878.html, оценка из 5, голосов 10
|