Страница 1 из 1

А как на Perl Из файла читать построчно?

СообщениеДобавлено: 08 авг 2002, 18:20
skoltogyan
1. Получилось на перл вычитать и схранить в файл куда указывает Home Directory для каждого пользователя.

2. Теперь вот проблема - как перлом из текстового файла построчно вычитывать.. :)

СообщениеДобавлено: 09 авг 2002, 05:18
Владимир
open (LOG,"logfile.txt");
while($string = <LOG>) {
...........

}

Гуд !!

СообщениеДобавлено: 09 авг 2002, 10:29
skoltogyan
А как вот такую строку:
NDS:\\AT\dsf\TES\tEst\ks
перевести в :
nds:\\at\dsf\tes\test\ks

?

СообщениеДобавлено: 09 авг 2002, 10:49
Владимир
tr#[A-Z]#[a-z]#;
Только в исходной строке должно быть в два раза больше
обратных слэшей

А как эти слеши туда добавить ?

СообщениеДобавлено: 09 авг 2002, 10:58
skoltogyan
А как эти слеши туда добавить ?

СообщениеДобавлено: 09 авг 2002, 11:28
Михаил Григорьев
skoltogyan предлагаю купить хорошую книжку по Perl'у.... не пожалеете...

А что хоть пишите то если не секрет....

Читаю с интернет

СообщениеДобавлено: 09 авг 2002, 12:05
skoltogyan
Да несекрет.
Ноги растут от бекапа, верне его отсутвствия.
3 сервера.
Бекап делаю так:

C консло по cron запускаю cp из toolbox и копирую на соседний большой IDE.

tbackup.exe - регулярно делаю, что-бы можно было восстановить права.

Однако, если при восстановлении сервера изменилось его название (бывает надо), то полностью оказываются потеряными записи иp NDS о том, куда направлен Home Directory..

Вот и ваяю скрипт на перл, что-бы в текстовый файл сохрнаил куда указывают это Home Directory и потом можно было легко его подправив быстро восстановить.

СообщениеДобавлено: 09 авг 2002, 13:45
Бугунов Игорь
Владимир писал(а):tr#[A-Z]#[a-z]#;
Только в исходной строке должно быть в два раза больше
обратных слэшей


Вообще-то, принято пользоваться LC и UC . Как-то правельней это, как мне кажется ...

СообщениеДобавлено: 09 авг 2002, 13:54
Михаил Григорьев
А зачем же так сложно? Не проще ли если нет стриммера воспользоваться NWZip.... Что нужно заархивировал и усё.... и на лицо экономия места....

Или проше ещё руководство озадачить... чтоб хотя бы допустим привод CDRW купили и далее с помощью программки от PortlockSoftware целые тома на RW Back'апить....

А вообще есть множество решиний как не имея стриммера BackUp производить....

Я в BackUp'е не монстёр.... стоит у меня RAID5 и усё... Хотя раньше и этого не было... тоже голову ломал как и что...

:)

СообщениеДобавлено: 09 авг 2002, 15:18
skoltogyan
Мне надо сохранять не содержимое домашних - это и так делается,
а ГДЕ ИМЕННО у каждого пользователя Home Directory.
При смене имени сервера или тома (когда переинсталировал сервак упавшиый), потеряются записи в eDir о том, где у каждого пользователя распологается Home Directory

RAID5 - тоже ещё штука та...

СообщениеДобавлено: 09 авг 2002, 15:49
Сергей Дубров
Григорьев Михаил писал(а):Я в BackUp'е не монстёр.... стоит у меня RAID5 и усё... Хотя раньше и этого не было... тоже голову ломал как и что...

Я тоже когда-то (лет десять назад, наверное, :lol: ) свято верил в непорушимость RAID5... пока не пришлось столкнуться в реальной жизни с такими заскоками и закидонами, что теперь RAID5 для меня по надёжности - чуть лучше дискетки :lol: .

Особенно "понравилось", когда как-то менял в сервере с MegaRAID-ом сетевую карту (SMC9432 - полное барахло, пытались заменить на какой-то 3Com, модель точно сейчас не вспомню) и при включении из-за какого-то конфликта в аппаратной части RAID-контроллер пометил все диски как "Offline" - и массива "не стало"! Хорошо хоть потом, после изъятия 3com-а (я его и раньше интуитивно недолюбливал 0X ), принудительного перевода всех дисков в Online и rebuild-а всё восстановилось. А ведь был же случай с этим же самым MegaRAID-ом (тогда я его гонял в тестовом режиме), когда после выключения в пятницу и включения в понедельник у меня массив просто "рассыпался" - вся конфигурация RAID-а куда-то делась :bad-words: . До сих пор не знаю, что было причиной, но с тех пор - боюсь, т.к. плановые выключения на Новый год у нас бывают ежегодно и я каждый раз с ужасом жду, что очередному RAID-контроллеру не захочется включиться после новогодней пьянки :drinking: . Тем более, что не далее как 2-го января 2002 года ещё один MegaRAID (другой) меня уже "радовал" на эту тему - при включении тоже отметил все диски как недоступные - Offline.

Так что - backup, backup и ещё раз backup. :silly: До сих пор вспоминаю вопли юзеров, когда я, не успев ещё на свежеустановленном сервере устроить бэкап, наблюдал обрушение прямо на глазах новеловской файловой системы на новых микрополисовских дисках, вместе со всем, что на них было. "Душераздирающее зрелище" (C) Ослик Иа :)

СообщениеДобавлено: 09 авг 2002, 17:37
Музалёв Николай
Нуууу...
Просто неудачная модель или неудачный образец.
У меня стоит MYLEX, дык полдня работал с битым диском, пока я в аппаратную не зашел и не обратил внимание на высокую утилизацию.
Диск заменили, перестроили массив. Через 2ру месяцев - та же история (была гнилая партия Барракуд в 1997, кто помнит) и снова полдня массив работал. Но ощущения - да, приятно вспомнить....
Правда, в первой настройке - тяжело было - из-за терминов.
PS как то мы плавно ушли в сторону греющей душу темы. Наболело?

СообщениеДобавлено: 12 авг 2002, 07:12
Владимир
Бугунов Игорь писал(а): Вообще-то, принято пользоваться LC и UC . Как-то правельней это, как мне кажется ...


Привет сосед(BS2002) :-)
Пробовал я LC, но почему-то не работает. Прповерял под ActivePerl 5.6.0.618, хотя по доке должно работать.

С LC уже разобрался (работает на NW)

СообщениеДобавлено: 12 авг 2002, 09:09
skoltogyan
Теперь вот в перл пытаюсь узнать - как сделатьподрограмму.
(А может и без нее :) полукиться)..
Вобщем я уже отдельно каждые функциональные части опробовал - теперь до купы собрать надо :)

СообщениеДобавлено: 13 авг 2002, 09:08
Евгений Андреев
Подпрограмма реализуется просто, вот пример:

sub error {
my($s, @params) = @_;
printf("error: $s\n", @params);
exit(1);
}


Вызывается тоже просто, например так:


&error("cant read config file") if (условие);