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'")
. И таких примеров масса.
Когда приходится думать о работе скрипта на двух разных перлах в трёх разных системах, скрипт определённо становится больше, сложнее и умнее. Но и работа становится заметно интереснее.