Einklinken ins Event-Framework
Die der Methode »watch()« übergebene Referenz auf eine Callbackfunktion zeigt auf die Funktion »quotes_update()« des Hauptskripts. Die Methode »fetch()« bekommt die Referenz durchgereicht und holt sich die Webseite mit den Kursen. Das kann bei stürmischem Internetwetter ein paar Sekündchen dauern; doch die in Zeile 75 aufgerufene Funktion »http_get()« stammt aus dem Fundus des Moduls »AnyEvent::HTTP» vom CPAN und arbeitet den Request asynchron ab. Sie nimmt die URL für den Kursservice und einen Callback entgegen, den sie anspringt, sobald die Internetdaten vollständig eingetrudelt sind.
Zu beachten ist dabei, dass Perl den Programmfluss sofort nach dem Aufruf von »http_get()« fortsetzt, ohne dass zu diesem Zeitpunkt die angeforderten HTTP-Daten vorliegen.
Differenziert melken
Wie die Dokumentation des CPAN-Moduls »Finance::YahooQuote« [9] verrät, versteht der Kurslieferant eine Fülle von Parametern, von denen das Modul »WatchQuotes.pm« die in Tabelle 1 genannten auswählt: das Tickersymbol, den Vortageskurs, den aktuellen Wert sowie die prozentuale Änderung. Zu einem String kombiniert, konfrontiert »WatchQuotes« den Yahoo-Dienst also mit »spl1p2« plus »s=goog+yahoo«, falls der risikofreudige Beispieluser Google- und Yahoo-Aktien auf seinem Radar hat.
Zurück kommen die Daten im CSV-Format, also zwei Zeilen Text wie:
"GOOG",467.49,475.83,"+1.78%" "YHOO",14.89,14.94,"+0.34%"
Aus ihnen formt der aus einfachen regulären Ausdrücken aufgebaute Parser in der Methode »parse_csv()« eine Datenstruktur. Im Hasheintrag »data« des »WatchQuotes«-Objekts steht dann eine Referenz auf ein Array, das jeweils den Vortageskurs, den letzten Kurs (üblicherweise um 20 Minuten verzögert) und die Änderung in Prozent enthält.
|
Tabelle 1: |
|
|---|---|
| Parameter | Bedeutung |
| s |
Symbol |
| p |
Letzter Schlusskurs |
| l1 |
Preis des letzten Trade |
| p2 |
Änderung in Prozent |
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 6 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





