Gracias, system("echo \"$variable\" | nombre_funcion"); fue la que me funcionó.
Esa es una forma muy rudimentaria de salir del paso y que se romperá con facilidad si por ejemplo $variable contiene comillas o es demasiado larga.
La forma correcta de hacer esto en Perl es con
open tal y como sigue:
Using perl Syntax Highlighting
open my $pipe, "| nombre_funcion"
or die "fallo al lanzar programa";
print $pipe $variable;
close $pipe; Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Si lo que llamas en vez de una función de la
shell (que es lo que se intuye que es por el nombre que le has dado), es un programa externo, entonces es mejor usar la variante de
open de tres (o más) argumentos en vez de la de dos que puede tener problemas de seguridad. Si no recuerdo mal, en perlfunc/open lo explica.