Я давно не знал ключевое слово «как».
MyClass myObject = (MyClass) obj;
против
MyClass myObject = obj as MyClass;
Секунда вернет ноль, если obj не является MyClass, а не сгенерирует исключение приведения класса.
Вы можете получить версию Perl, скомпилированную практически для любого варианта unix. Perl не нужно «устанавливать», но он может работать внутри каталога вашего приложения. Я бы связал Perl со своим дистрибутивом, чтобы вы могли убедиться, что используете ту же версию.
Очень сложно написать полностью кроссплатформенный сценарий оболочки без тестирования на целевой ОС. Если вы разрабатываете сценарий awk, вы, вероятно, собираетесь разрабатывать его с использованием варианта GNU в Linux, который является расширенным набором POSIX awk . Я часто настраиваю пакеты с открытым исходным кодом на Solaris , и я постоянно нахожу проблемы, когда люди предполагают, что вы используете современную версию инструмента. Например, в Solaris bash не является стандартной оболочкой bourne (/ bin / sh), а echo не принимает никаких параметров. Если вы все же попытаетесь кодировать с помощью POSIX awk, вы можете оказаться ограниченными библиотекой регулярных выражений или устаревшими соглашениями.
Художественные лицензии Perl e позволяют вам связать его с вашей программой, если вы будете следовать нескольким простым вещам, например, сохранять авторские права в действии.
Если клиент не имеет Perl на своих машинах, вы всегда можете использовать Par :: Packer для создания исполняемого файла для этой платформы. Это также означает, что вам не нужно беспокоиться об использовании модулей, поскольку они также будут включены в исполняемый файл.
Практически в каждом * nix (за исключением некоторых очень ограниченного дискового пространства) установлен Perl. AFAIK, даже FreeBSD. На всякий случай вы можете превратить Perl-программу в исполняемый файл, который не будет нуждаться в Perl, с помощью PAR :: Packer .
даже если Perl может быть установлен почти на всех платформах * nix, они могут быть разных версий, так что имейте это в виду. С требованием, чтобы он работал на большинстве * nix, вы можете просто кодировать с помощью утилит shell +. Для синтаксического анализа файлов эту работу также может выполнять awk + shell. вам просто нужно написать его в «портативном» формате. проверьте это , чтобы узнать больше
Хотя я предполагаю, что все текущие версии операционных систем, о которых вы говорите, устанавливают Perl, конечно, будут и более старые версии, которых не было и не было. Вы также должны знать, что даже такие инструменты, как awk, обычно не устанавливались в очень старых версиях UN * X, поскольку он и другие инструменты программирования были необязательными дополнениями (за дополнительную плату). Я помню системы Altos, в которых даже стек TCP / IP требовал дополнительных затрат, но, вероятно, вы не вернетесь так далеко назад: -)
Итог: Если вашему приложению действительно нужен Perl, вы должны его проверить установлен (с помощью сценария оболочки Bourne - если он не работает, вы действительно облажались), а если не предоставите способ его установки.