Llamar al script Perl desde PHP y pasar variables, al mismo tiempo que se usa el nombre del script perl variablized

Normalmente llamo scripts perl desde PHP como se muestra a continuación y paso variables de esta manera, y funciona bien, sin embargo, ahora estoy construyendo un componente para reutilizar donde también quiero variar el nombre del script perl que estoy pasando y esto es me da algunos dolores de cabeza, así que me pregunto si alguien puede señalar una mejor manera de hacer esto ya que mi forma no funciona ... gracias ...

la forma en que funciona sin el nombre de archivo perl variablized:

$file = "/var/www/other_scripts/perl/apps/perlscript.pl $var1 $var2 $var3 $var4";
ob_start();
passthru($file);
$perlreturn = ob_get_contents();
ob_end_clean();

Mi intento de variar el nombre de archivo perl que no parece funcionar para mí, puede ver en lo anterior cómo incluye incluso los $ var (s) en la "" inicial, lo que me parece extraño pero parece ser la única forma en que funciona y no estaba seguro de cómo replicar esto con un nombre de archivo perl variablized:

$perlscript_file = "/var/www/other_scripts/perl/apps/" . $perlscript .".pl";

$file = $perlscript_file . $var1 . $var2  .$var3 . $var4;
ob_start();
passthru($file);
$perlreturn = ob_get_contents();
ob_end_clean();

Respuestas a la pregunta(3)

Su respuesta a la pregunta