|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 15 Mar 2007 13:23:38 To : ‘ҐаЈҐ© Subject : Re: Про копирования каталогов... -------------------------------------------------------------------------------- Сергей -> Artem Chuprina @ Thu, 15 Mar 2007 07:07:14 +0000 (UTC): AC>> Hу и до кучи - я бы имя сервера, и возможно, С> обеих директорий передавал AC>> бы в copy_dir параметрами. Меньше глобальных С> переменных - целее жопа... С> это в каком смысле??? Дело в том что это кусок С> кода из общего скрита с разными sub... Перловый sub - это не бейсиковый gosub, который именно что переход в другое место с последующим возвратом. Это нормальная функция, и ей можно передавать параметры. perldoc perlsub. AC>> Да. Ты бы все-таки, если уж утверждаешь, что С> у тебя скрипт заработал, AC>> копировал бы заработавший кусок. А то поди С> догадайся по твоим AC>> опечаткам, что именно ты там имел в виду... С> Сорри исправимся... С> А %excl обязательно my объявлять??? Hе обязательно. Hо, повторюсь, меньше глобальных переменных - целее жопа. С> А почему $_=>1 ? Обозначение того, что мы строим хэш. Слева - ключ. Ключом работает прочитанная строка. Справа - значение. В данном случае значение нам не важно, но для удобства хорошо бы, чтобы оно было истинным в смысле булевской проверки. Поэтому 1. Hа самом деле, если почитать perldoc perlop, станет ясно, что => - это просто другая запись для запятой, и в результате map дает чередующийся список. Который при присваивании его хэшу автомагически превращается в то, что надо. Можно было бы написать чуть более понятный цикл, но это была бы лишняя строчка. Да, конкретно вот эту строчку влёт прочтет только опытный _перловый_ программист. Просто хороший программист догадается, что она делает, но чтобы понять, как, ему надо будет читать документацию. С> А как сделать, чтобы при сравнении не различались маленькие и С> большие буквы. Это понятно , что [a-zA-Z] или /i, но куда это С> впендюрить??? "Это понятно", но не обязательно верно. Если интересует именно большие-маленькие, а не какие-то более хитрые сравнения с шаблонами, то $_=>1 поменять на lc($_)=>1, и $excl{$_} - на $excl{lc($_)}. Hо в юниксах, где файлы, различающиеся регистром в имени - это _разные_ файлы, это чревато боком. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Работай хоть за четверых. Только не говори им об этом. Кнышев. --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/11477e9c2020c.html, оценка из 5, голосов 10
|