Perl数组转储

QED*_*QED 0 arrays perl output

我这样做:

my @items = [];

sub pushItem {
   my $itemId = "i" . sprintf("%d", $_[0]);
   push(@items, $itemId);
}

sub popItems {
   $itemsXml = "<key>items</key>\n<array>\n";

   foreach (@items) {
      $itemsXml .= "<string>$_</string>\n";
   }

   $itemsXml .= "</array>\n";

   return $itemsXml;
}

pushItem(0);
pushItem(1);
pushItem(2);
print popItems();
Run Code Online (Sandbox Code Playgroud)

我明白了:

 <key>items</key>
 <array>
 <string>ARRAY(0x7fa1730070d0)</string>
 <string>i0</string>
 <string>i1</string>
 <string>i2</string>
 </array>
Run Code Online (Sandbox Code Playgroud)

问题当然是:

<string>ARRAY(0x7fa1730070d0)</string>
Run Code Online (Sandbox Code Playgroud)