You need to move the declaration of @commands_run out of the foreach loop - otherwise it gets created afresh on each iteration of the loop. And in your code there seems to be some confusion about the name of the variable that contains the command. Is it $command1 or $command_run? Looks like $command_run contains the result of running $command1.
But once those little issues are sorted out, something very similar to your code will work just fine.
my @commands_run; foreach my $command1 (@commands) { chomp $command1; my $command_run = $ssh->exec($command1); print $command_run; push @commands_run, $command1; } print @commands_run;
Update: Actually, once that code has been run there will be no difference between @commands and commands_run. What were you expecting?
In reply to Re: sending commands to CLI and then appending to end of array with push
by davorg
in thread sending commands to CLI and then appending to end of array with push
by sqspat
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |