Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

CGI & Perl - FAQ по perl и программированию для web: Борьба с глюками m$ windows Next Previous Contents

11. Борьба с глюками m$ windows

11.1 Почему мой perl ругается на flock()?

Потому что на windows нет flock(2).

Используйте File::Lock с CPAN.

11.2 Тоже самое, но с fork()?

Windows это не unix. Они fork не умеют.

11.3 Как бы мне добится нормальной сортировки в алфавитном порядке, преобразования в прописные/строчные буквы?

Perl для этого опирается на механизм locale. К счастью, это работает и на windows:

Если надо работать с CP866, пишем

  use locale;
  use POSIX;
  &POSIX::setlocale(&POSIX::LC_ALL, "Russian_Russia.866");
  print uc "Да, здесь будут заглавные буквы";

если KOI8 (sic!):

  &POSIX::setlocale(&POSIX::LC_ALL, "Russian_Russia.20866");

если с CP1251 -- просто

use locale;

Со всеми тремя кодировками работают и uc/lc, и /w/

Проверено под NT на perl 5.005_02, собраном через VC++ 5.0 из исходников, скачанных с CPAN/ports/win32/Standard/

11.4 Почему скрипты, которые я написал дома на windows, при загрузке на unix машину не работают?

Этому может быть миллион разных причин, но самая часто встречающаяся -- unix и наследники CP/M используют разные последовательности конца строки.

Если вы их загружаете по ftp, включите режим ASCII.


Next Previous Contents

  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте