Сортировка с Perl, уважая Настройки Локали

Существует несколько преимуществ выполнения systemd даже после того, как начальная загрузка сделана, некоторые могли бы заинтересовать Вас, некоторые не могли бы, быстрая сводка:

  • Сервисный Контроль: systemd может контролировать сервисы и перезапустить их при отказе, в то время как большинство клиентов даже не заметит, что сервис перезапустил.
  • Чистое управление сервисами: в systemd Ваши текущие переменные среды не влияют на среду вручную запущенного сервиса.
  • Сторожевая поддержка: если Вы находитесь на серверном оборудовании или встроенной платформе (или даже на некоторых настольных платформах) у Вас может быть systemd, говорят с аппаратным сторожевым таймером и инициировали перезагрузку, когда критические сервисы перестали работать.
  • Запустите меньше на запуске: в то время как это - главным образом улучшение скорости начальной загрузки, оно также минимизирует использование памяти, так как меньше сервисов загружается в память.
  • Журнал: легкий и надежный демон входа, который регистрирует больше метаданных, чем Ваш классический syslogd и позволяет Вам легкому фильтру на этой информации
  • ...

для получения дополнительной информации я перенаправляю Вас к systemd домашней странице

6
23.03.2014, 18:47
2 ответа
[112436] Проблема заключается в [112895] локальном $/ = undef[112896]. Это приводит к тому, что [112897]perl[112898] читает весь файл в массиве [112899]@ARGV[112900], то есть он содержит только один элемент, поэтому [112901]sort[112902] не может его сортировать (потому что вы сортируете массив только с одним элементом). Я ожидаю, что результат должен совпадать с Вашими начальными данными (я также использую [112903]Ubuntu 12.04 LTS, perl версии 5.14. 2[112904]:[12180]Если вы удалите [112905]local $/ = undef[112906], perl [112907]sort[112908] будет продолжать сортировку с оболочкой [112909]sort с LC_ALL=C[112910]:[12181]Примечание[12182]Без [112913] используйте локаль[112914], [112915]perl[112916] игнорирует настройки вашей текущей локали. Операторы сравнения Perl [112917]("lt", "le", "cmp", "ge" и "gt")[112918] используют [112919]LC_COLLATE[112920] (когда [112921]LC_ALL[112922] отсутствует), и [112923]сортировка[112924] также выполняется, так как по умолчанию используется [112925]cmp[112926]. [12183]Можно получить текущее значение [112927]LC_COLLATE[112928]:[12184]
8
27.01.2020, 20:22
[112446]Потому что правильным способом чтения файла в массив является:[12185]Установка разделителя входных записей [112929]в значение undef - это только помещение всего файла в один скаляр. Тогда сортировка одного массива значений мало что значит.[12186]Режим массива уже читает весь ваш файл одним кадром. Тогда сортировка имеет смысл:[12187]Здесь моя [112931]ENVIRONMENT[112932] имеет [112933]LANG=en_US.UTF-8[112934]. Без утверждения [112935] используйте локаль; [112936] используйте схему сортировки по умолчанию [112937]LC_ALL=C[112938].[12188] Если вы хотите узнать больше: [12189]Традиционное сглаживание с помощью Perl[12190]Perl "use locale" and environment[12191]
6
27.01.2020, 20:22

Теги

Похожие вопросы