Je dois exécuter une commande avec des variables à l'intérieur de la commande. J'ai besoin de capturer la sortie et de l'enregistrer dans une ligne varible ou un tableau, ce n'est pas grave. Ça va être collé dans un textbox dans Tk de toute façon.Lecture d'une sortie de commande Unix avec Perl
J'ai essayé:
my @array = '$variable_with_command';
Je ne peux pas vraiment utiliser:
my $variable = 'unixcommand $variableinside';
en raison de la variable à l'intérieur, je l'ai vu que comme une suggestion d'autres postes stackoverflow.
Il travaille pour:
my $readvariable = 'ls -a';
parce qu'il n'y a pas de variables à l'intérieur, à moins qu'il ya un moyen d'inclure des variables et ont $ readvariable attraper la sortie? Merci d'avance.
Voici mon code (ce zéro imprimé):
sub runBatch {
my $directory = "/directpath/directoryuser/sasmodules/";
my $command = 'sasq ' . $directory . $selectBatch;
my @batch = system($command);
print "This is the output\n";
print "-----------------------------------";
print @batch;
print "-----------------------------------";
}
Cela n'a pas grand chose à voir avec les variables de la commande. Cela a à voir avec la commande ['system'] (http://search.cpan.org/perldoc?perlfunc#system) qui ne fait pas ce que vous pensez. Pour capturer la sortie d'une commande externe, vous voulez utiliser les guillemets, l'opérateur 'qx()', ou ['readpipe'] (http://search.cpan.org/perldoc?perlfunc#readpipe). – mob
Merci, mais si ce n'était pas pour les variables je n'aurais pas de problème. Je crois que l'utilisation de citations de retour soit la bonne ou pas, travaille pour mon problème. Je suis sûr qu'il y a beaucoup de solutions que Perl semble avoir. –