Ich bin kein Experte in Perl, fragt, warum der erste Weg numSheets zu erhalten, in Ordnung ist, während die folgende Art und Weise ist nicht:Fehler Zwischenvariable mit Tabellenkalkulations zuzugreifen :: Lese Blätter
use Spreadsheet::Read;
my $spreadsheet = ReadData("blah.xls");
my $n1 = $spreadsheet->[1]{sheets}; # okay
my %sh = %spreadsheet->[1]; # bad
my $n2 = $sh{label};
Die nächste bis letzte Zeile gibt den Fehler
Global symbol "%spreadsheet" requires explicit package name at newexcel_display.pl line xxx
Ich bin mir ziemlich sicher, dass ich die richtigen Sigillen habe; Wenn ich experimentiere, kann ich nur verschiedene Fehler bekommen. Ich weiß, Tabellenkalkulation ist eine Referenz auf ein Array nicht direkt ein Array. Ich weiß nicht über den Hash für die Metadaten oder einzelne Blätter, aber das Experimentieren mit anderen Annahmen führt nirgends (zumindest mit meinem bescheidenen Perl-Fähigkeit.)
Meine Referenz auf Tabellenkalkulation :: Read Workings ist http://search.cpan.org/perldoc?Spreadsheet::Read Wenn es gut sind Beispiele irgendwo online, die zeigen, wie Spreadsheet richtig zu verwenden, würde ich gerne wissen, wo sie sind.
Aha, also bin ich ein Anfänger, der versucht, Zwischentricks zu machen :) – DarenW
Es funktioniert, und nach dem Re-Lesen von Sachen, die ich bereits in den letzten Tagen gelesen hatte, macht das jetzt Sinn (irgendwie). Dennoch scheint die Quantenfeldtheorie viel einfacher zu sein als Perl ... – DarenW