#!/usr/bin/perl my $MAIL_INPUT = "-"; my $MAIL_HOST = "mail.subbrhosting.net"; use strict; use warnings; use Mail::Internet; use LWP::UserAgent; use HTTP::Request::Common; use HTML::TableExtract; # Mail einlesen open MAILIN, "<$MAIL_INPUT" or die "Cannot open $MAIL_INPUT"; my @data = ; close MAILIN; # Mail analysieren my $mail = Mail::Internet->new(\@data); my $stock = $mail->body()->[0]; chomp $stock; # Antwort zusammenbasteln my $reply = $mail->reply(); my $quote = get_quote($stock); $reply->body( [$quote] ); # ... und absenden $reply->smtpsend(Host => $MAIL_HOST) or die "Reply mail failed"; ################################################## sub get_quote { ################################################## my $stock = shift; my $URL = "http://de.finance.yahoo.com/q?m=F&" . "s=$stock" . "&d=v1"; my $result = ""; my $ua = LWP::UserAgent->new(); my $resp = $ua->request(GET $URL); if($resp->is_error()) { # Fehler beim Holen der Webseite? my $error = sprintf "Error: %s", $resp->message(); return $error; } my $data = $resp->content(); my $te = new HTML::TableExtract( depth => 0, count => 4 ); $te->parse($data); # Alle Tabellenreihen zusammen darstellen my @rows = $te->rows; shift @rows; foreach my $row (@rows) { $result .= join(' ', $row->[0], $row->[4]); $result .= " ** "; } return $result; }