Есть ли платформы Unix, где Perl не установлен по умолчанию?

Я давно не знал ключевое слово «как».

MyClass myObject = (MyClass) obj;

против

MyClass myObject = obj as MyClass;

Секунда вернет ноль, если obj не является MyClass, а не сгенерирует исключение приведения класса.

5
задан paxdiablo 6 September 2013 в 20:26
поделиться

5 ответов

Вы можете получить версию Perl, скомпилированную практически для любого варианта unix. Perl не нужно «устанавливать», но он может работать внутри каталога вашего приложения. Я бы связал Perl со своим дистрибутивом, чтобы вы могли убедиться, что используете ту же версию.

Очень сложно написать полностью кроссплатформенный сценарий оболочки без тестирования на целевой ОС. Если вы разрабатываете сценарий awk, вы, вероятно, собираетесь разрабатывать его с использованием варианта GNU в Linux, который является расширенным набором POSIX awk . Я часто настраиваю пакеты с открытым исходным кодом на Solaris , и я постоянно нахожу проблемы, когда люди предполагают, что вы используете современную версию инструмента. Например, в Solaris bash не является стандартной оболочкой bourne (/ bin / sh), а echo не принимает никаких параметров. Если вы все же попытаетесь кодировать с помощью POSIX awk, вы можете оказаться ограниченными библиотекой регулярных выражений или устаревшими соглашениями.

Художественные лицензии Perl e позволяют вам связать его с вашей программой, если вы будете следовать нескольким простым вещам, например, сохранять авторские права в действии.

13
ответ дан 12 December 2019 в 19:05
поделиться

Если клиент не имеет Perl на своих машинах, вы всегда можете использовать Par :: Packer для создания исполняемого файла для этой платформы. Это также означает, что вам не нужно беспокоиться об использовании модулей, поскольку они также будут включены в исполняемый файл.

4
ответ дан 12 December 2019 в 19:05
поделиться

Практически в каждом * nix (за исключением некоторых очень ограниченного дискового пространства) установлен Perl. AFAIK, даже FreeBSD. На всякий случай вы можете превратить Perl-программу в исполняемый файл, который не будет нуждаться в Perl, с помощью PAR :: Packer .

3
ответ дан 12 December 2019 в 19:05
поделиться

даже если Perl может быть установлен почти на всех платформах * nix, они могут быть разных версий, так что имейте это в виду. С требованием, чтобы он работал на большинстве * nix, вы можете просто кодировать с помощью утилит shell +. Для синтаксического анализа файлов эту работу также может выполнять awk + shell. вам просто нужно написать его в «портативном» формате. проверьте это , чтобы узнать больше

2
ответ дан 12 December 2019 в 19:05
поделиться

Хотя я предполагаю, что все текущие версии операционных систем, о которых вы говорите, устанавливают Perl, конечно, будут и более старые версии, которых не было и не было. Вы также должны знать, что даже такие инструменты, как awk, обычно не устанавливались в очень старых версиях UN * X, поскольку он и другие инструменты программирования были необязательными дополнениями (за дополнительную плату). Я помню системы Altos, в которых даже стек TCP / IP требовал дополнительных затрат, но, вероятно, вы не вернетесь так далеко назад: -)

Итог: Если вашему приложению действительно нужен Perl, вы должны его проверить установлен (с помощью сценария оболочки Bourne - если он не работает, вы действительно облажались), а если не предоставите способ его установки.

2
ответ дан 12 December 2019 в 19:05
поделиться
Другие вопросы по тегам:

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