my $queue = Thread::Queue->new(); #Anlegen des RowTypes our $rtTrade = Triceps::RowType->new( symbol => "string", #Stock Symbol name => "string", currentPrice => "float64", #aktueller Kurs der Aktie highPrice => "float64", # höchster Kursstand in den letzten 52 Wochen lowPrice => "float64", # niedrigtest Kursstand in den letzten 52 Wochen ) or confess "$!"; #Anlegen einer LWP::UserAgent + anschließende Erstellung und Ausführung des GET-Requests. my $ua = LWP::UserAgent->new; my $req = GET 'http://download.finance.yahoo.com/d/quotes.csv?s=YHOO+GOOG+MSFT&f=snl1kj'; my $res = $ua->request($req); #Prüfen der Ergebnisse des GET-Requests + Splittung und Speicherung der Ergebnisse in einem Array. my @stockDataArray; if ( $res->is_success ) { @stockDataArray = split( '\n', $res->content ); } else { print $res->status_line . "\n"; } my $row; #Erstellung der einzelnen Rows aus dem zuvor erstellten Array. for ( my $i = 0 ; $i < @stockDataArray; $i++ ) { my @temp = split( ',', $stockDataArray[$i] ); $row = $rtTrade->makeRowArray( $temp[0], $temp[1], $temp[2], $temp[3],$temp[4] )or die "$!"; #$row = $rtTrade->makeRowArray(@temp); #print $row->printP() . "\n"; #Erstelltes row-Objekt wird korrekt ausgegeben. $queue->enqueue($row); } for (my $i = 0; $i < 6; $i++) { my $rowBack = $queue->dequeue(); print $rowBack->printP() . "\n"; }