I want to get the output of a command into an array — like this:
my @output = `$cmd`;
but it seems that the output from the command
This simple script works for me:
#!/usr/bin/env perl
use strict;
use warnings;
my $cmd = "ls";
my @output = `$cmd`;
chomp @output;
foreach my $line (@output)
{
print "<<$line>>\n";
}
It produced the output (except for the triple dots):
$ perl xx.pl
<>
<>
<>
<>
<>
...
<>
<>
<>
<>
<>
$
The output of command is split on line boundaries (by default, in list context). The chomp deletes the newlines in the array elements.