Puede obtener una versión de Perl compilada para casi cualquier variante de Unix. Perl no tiene que estar 'instalado', pero puede ejecutarse dentro del directorio de su aplicación. Empaquetaría Perl con mi distribución, para que pueda asegurarse de que está ejecutando la misma versión.
Es muy difícil escribir un script de shell completamente multiplataforma, sin probarlo en el sistema operativo de destino. Si desarrolla un script awk, probablemente desarrollará utilizando la variante GNU en Linux, que es un superconjunto de POSIX awk. A menudo configuro paquetes de código abierto en Solaris, y constantemente encuentro problemas en los que las personas asumen que está ejecutando una versión moderna de una herramienta. Por ejemplo, en Solaris, bash no es el shell estándar de Bourne (/bin/sh), y echo no toma ningún parámetro. Si intenta codificar con POSIX awk, es posible que se encuentre limitado por la biblioteca de expresiones regulares o por convenciones obsoletas.
La licencia artística de Perl le permite agruparla con su programa, siempre y cuando siga un par de cosas simples como mantener intactos los derechos de autor.
Si el cliente no tiene Perl en sus máquinas, siempre puede usar Par::Packer para crear un ejecutable para esa plataforma. Esto también significa que no tiene que preocuparse por usar módulos, ya que también se incluirán en el ejecutable.
Casi todos los *nix (excepto algunos por espacio de disco muy limitado) tienen Perl instalado. AFAIK, incluso FreeBSD. En caso de que no lo sea, puede transformar el programa Perl en un ejecutable que no necesitará Perl con PAR::Packer.