1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#!/usr/bin/perl
my $symbol = $ARGV[0] || "INTC";
$symbol =~ tr/A-Z/a-z/;
$s = substr($symbol, 0, 1);
my $Symbol = $symbol;
$Symbol =~ tr/a-z/A-Z/;
my $junk;
my $pe;
my $fwdpe;
my $pb;
my $ps;
my $when;
my $url = "http://finance.yahoo.com/q/ks?s=$symbol";
open (COMMAND, "lynx -width=9999999 -dump -connect_timeout=10 \"$url\" |")
|| die "Can't open p/e '$url'\n";
while (<COMMAND>) {
chop;
# print "$_\n";
if ($_ =~ "Trailing P/E" && !$pe) {
($j, $j, $j, $j, $pe) = split(/\s+/);
}
if ($_ =~ "Forward P/E" && !$fwdpe) {
($j, $j, $j, $j, $j, $fwdpe) = split(/\s+/);
}
if ($_ =~ "Price/Book" && !$pb) {
($j, $j, $j, $pb) = split(/\s+/);
}
if ($_ =~ "Price/Sales" && !$ps) {
($j, $j, $j, $ps) = split(/\s+/);
}
if ($_ =~ "Most Recent Quarter .mrq") {
($j, $j, $j, $j, $j, $when) = split(/\s+/);
}
}
close (COMMAND);
printf "%s: P/E: %s (%s fwd), Price/Book: %s, Price/Sales: %s (%s)\n",
$Symbol, $pe, $fwdpe, $pb, $ps,
$when;
|