Vous pouvez obtenir une version de Perl compilée pour à peu près n'importe quelle variante Unix. Perl n'a pas besoin d'être "installé", mais peut s'exécuter à l'intérieur du répertoire de votre application. Je regrouperais Perl avec ma distribution, afin que vous puissiez vous assurer que vous utilisez la même version.
Il est très difficile d'écrire un script shell complètement multiplateforme, sans tester sur le système d'exploitation cible. Si vous développez un script awk, vous allez probablement développer en utilisant la variante GNU sous Linux, qui est un sur-ensemble du POSIX awk. Je configure souvent des packages open source sur Solaris, et je trouve constamment des problèmes où les gens supposent que vous utilisez une version moderne d'un outil. Par exemple, sur Solaris, bash n'est pas le bourne shell standard (/bin/sh) et echo ne prend aucun paramètre. Si vous essayez de coder avec POSIX awk, vous pouvez vous retrouver limité par la bibliothèque regex ou des conventions obsolètes.
La licence artistique de Perl vous permet de l'intégrer à votre programme, tant que vous respectez quelques règles simples, telles que le respect du droit d'auteur.
Si le client n'a pas Perl sur ses machines, vous pouvez toujours utiliser Par::Packer pour créer un exécutable pour cette plate-forme. Cela signifie également que vous n'avez pas à vous soucier de l'utilisation des modules, car ils seront également inclus dans l'exécutable.
Presque tous les *nix (sauf certains pour un espace disque très limité) ont Perl installé. AFAIK, même FreeBSD. Juste au cas où ce ne serait pas le cas, vous pouvez transformer le programme Perl en un exécutable qui n'aura pas besoin de perl avec PAR::Packer.