f.f.o. :: /add |
Александр Фенстер |
| add@fenster.name | fenster.name |
man(1).
На текущем же месте работы, где софт пишется для Linux, Windows (в
MKS) и Mac OS X, а заметная часть моих
обязанностей состоит в написании скриптов на Perl'е, которые должны работать
одинаково в любой из перечисленных систем, на первое место однозначно
выходят вопросы совместимости.
Каждый человек, хоть раз потративший десять минут
на поиск ошибки в скрипте, возникшей из-за того, что chomp в линуксовом перле
по умолчанию некорректно обрабатывает «виндовые» переводы строк
"\r\n", запомнит надолго, что если на горизонте есть текстовые файлы,
созданные в Windows, нужно помнить о значении переменной $/, а лучше
вместо chomp делать что-нибудь типа s/[\r\n]//g.
Каждый, кто хоть раз напарывался на имена каталогов с пробелами (а в Windows это намного более
частое явление, чем в Linux), никогда не напишет system("somecommand $path/$file"),
а напишет system("somecommand '$path/$file'"). И таких примеров масса.
Когда приходится думать о работе скрипта на двух разных перлах в трёх разных системах, скрипт определённо становится больше, сложнее и умнее. Но и работа становится заметно интереснее.