ich ein Anfänger in Perl bin, muss ich die Größe eines Arrays CodeWie die Anzahl der Elemente in einer Liste innerhalb eines Objekts erhalten
SOAP Beratung bekommen als
my @params = (
SOAP::Data->name(user => '2355'),
SOAP::Data->name(psw => '2355')
);
my $soap = SOAP::Lite
->uri('https://service.example.com')
->on_action(sub { join '/', 'https://service.example.com', $_[1] })
->proxy('https://service.example.com/service.php?wsdl');
my $method = SOAP::Data->name('GetAll')
->attr({xmlns => 'https://service.example.com'});
my @products = $soap->call($method => @params)->result;
folgt dieser kehrt
$VAR1 = bless({
date_end => [0, 0, "2016-06-30"],
dispach => [0, 51, 0],
manufacturer => ["Microsoft", "Lenovo", "HP"],
sku => [
"R23649C ",
"DW47-03 ",
"YDG-016 ",
],
tree => [
"MS-OPEN ",
"LENOVO-AIO ",
"HP ACADEMIC ",
],
}, "parametros_salida");
I
print $products->{"sku"}[0];
print $products->{"manufacturer"}[0];
print $products->{"manufacturer"}[1];
die Daten mit
zugreifen können
Aber ich kann nicht als Ergebnis meines Aufrufs zählen SOAP nur eine einzige Variable Dumper ($ Produkte) zurückgeben daher kann ich nicht die Array-Größe.
Ich habe versucht,
my @products2 = $products
print 0 + @products2;
print scalar(@products2);
print scalar $products;
Sie sollten in die Interna von Objekten (Dinge, die 'bless'ed wurden) nicht herum Stossen lesen sollte. Stattdessen sollten Sie die Methoden des Objekts verwenden, um auf die Daten zuzugreifen, die veröffentlicht werden sollen.Können Sie bitte die gesamte Ausgabe in Ihre Frage bearbeiten, damit wir sehen können, um welche Art von Objekt es sich handelt? – ThisSuitIsBlackNot