программистское, мимоходом
Apr. 12th, 2005 03:56 pmНесколько дней назад я провёл три часа в отладчике, ползая по коду отладочной версии перла под Windows XP, и всё из-за того, что под Windows, оказывается, если в cmd.exe написать
set foo="bar"
то значение переменной среды foo будет не bar, а "bar".
Из-за этого одна из стандартных возможностей Перла, опирающаяся на правильное определение переменной среды, у меня не работала. И я думал, что это из-за какого-то бага в Перле под Win32, и ползал по его исходникам с редактором в одной руке и отладчиком в другой.
В последнее время я всё чаще ощущаю солидарность с автором веблога Nick Hates Software.
set foo="bar"
то значение переменной среды foo будет не bar, а "bar".
Из-за этого одна из стандартных возможностей Перла, опирающаяся на правильное определение переменной среды, у меня не работала. И я думал, что это из-за какого-то бага в Перле под Win32, и ползал по его исходникам с редактором в одной руке и отладчиком в другой.
В последнее время я всё чаще ощущаю солидарность с автором веблога Nick Hates Software.
no subject
Date: 2005-04-12 03:29 pm (UTC)no subject
Date: 2005-04-12 03:32 pm (UTC)Вот сейчас попробовал
Date: 2005-04-12 03:59 pm (UTC)А в set не откидывает.
В винду перегружаться лень.
Возможно, я не точно описал условия опыта. Если написать указанные строки не в правой части присваивания переменной среды, а в качестве имени команды.
То есть если написать c:>"С:\Program Files\Far\Far", запустится Far
no subject
Date: 2005-04-12 04:01 pm (UTC)А что делает оболочка в CP/M? ;-)
То есть если написать c:>"С:\Program Files\Far\Far", запустится Far
Это да, это может быть.
no subject
Date: 2005-04-12 04:25 pm (UTC)CMD.EXE в оси и в виндах в точности одинаковый. До мелочей. Кроме того, что виндовый при запуске программ проверяет ассоциации эксплорера и поэтому может запустить .doc или .html как программу, а осевый нет.