perl - à l'aide de backticks au lieu de system()

J'ai un script perl qui appelle un autre script perl à l'aide de system()

c'est comme:

my $returnval= system("perl", $path,$val1, $val2,@myarray);

Parce que system() ne retourne que le statut de sortie, mais je veux que le script est sortie je veux utiliser backticks.

J'ai essayé quelque chose comme ça:

my $returnval = `$path`;

comment puis-je ajouter les paramètres du script?

comment les autres script perl de retour de ce à quoi ressemble le code? Pour le moment c'est comme

exit ($myreturnedvalue);

(comment) Est-il possible de retourner plusieurs valeurs?

Malheureusement, je ne comprends pas la question sur le retour de plusieurs valeurs. Souhaitez-vous préciser?
Je veux appeler un script avec les paramètres, puis je veux que le script de sortie et cette sortie, a-t-elle à être une valeur unique ou peut-il être un tableau ou deux paramètres comme sortie (x1,x2)
Vous ne pouvez retourner un morceau de texte (ou des données binaires). Si vous souhaitez avoir plusieurs valeurs, alors le script que vous appelez doit renvoyer une sérialisés structure de données (séparés par un espace, JSON, XML, etc) que vous analysez dans votre Perl.
ah, ok, donc je dois travailler sur le texte pour l'extraction de l'information que je veux, merci 🙂
Êtes-vous essayer d'avoir perl fonctions dans plus d'un fichier à l'intérieur du programme, ou êtes-vous de la difficulté à comprendre comment utiliser $? dans votre programme? $output = ˋcmd arg1 arg2ˋ; $status = $?; obtient la sortie et l'état séparément.

OriginalL'auteur Tyzak | 2012-06-03