<HTML><HEAD> <TITLE>Security APL Quote Server</TITLE> <LINK REV="made" HREF="dhp@secapl.com"></HEAD> <CENTER> <NOBR> <A HREF=http://www.secapl.com/HOMELink> <IMG ALIGN=CENTER BORDER=0 SRC=http://www.secapl.com/qsImages/apl.gif ALT=" Security APL" HEIGHT=80 WIDTH=90></A> <B> <FONT SIZE=+3> S</FONT><FONT SIZE=+1>ecurity <FONT SIZE=+3>APL</FONT> <FONT SIZE=+3>Q</FONT>uote<FONT SIZE=+3>S</FONT>erver</FONT> </B> <HR WIDTH=600 SIZE=3 NOSHADE> <A HREF=http://www.secapl.com/ADLink> <IMG SRC=http://www.secapl.com/qsImages/barron.gif WIDTH=600 HEIGHT=60 BORDER=0 ALT="Barrons" BORDER=0></A><BR> <HR WIDTH=600 SIZE=3 NOSHADE> <FONT SIZE=-1> <I>If your browser does not support tables, see the <A HREF=http://www.secapl.com/cgi-bin/qso><B>alternate Quote Server</B> </A> page.</I> </FONT> <P> <FORM METHOD="POST" ACTION="http://qs.secapl.com/cgi-bin/qso"> <A HREF=http://www.secapl.com/secapl/quoteserver/ticks.html> <B>Ticker Symbols</A> : </B> <I>(Up to 5 tickers may be entered separated by spaces)</I><BR> <DD><INPUT NAME="tick" SIZE=30 MAXLENGTH=50> <B><FONT COLOR=0000FF><INPUT TYPE="submit" VALUE=" Get Quotes "> </FONT></B></FORM> </CENTER><PRE> Symbol : ADBE Exchange : NASDAQ Description : ADOBE SYSTEMS INC Last Traded at: 35.1250 Date/Time : Jul 05 1:01:34 $ Change : -0.1250 % Change : -0.35 Volume : 330300 # of Trades : 251 Bid : 35.1250 Ask : 35.2500 Day Low : 35.1250 Day High : 35.7500 52 Week Low : 30.0000 52 Week High: 74.2500 </PRE><CENTER> <A HREF="http://www.secapl.com/cgi-bin/edgarlink?'ADBE'">WWW hyperlinks </A> for the symbol ADBE are available including those from the <A HREF="http://town.hall.org/edgar/edgar.html">EDGAR Dissemination Project.</A> <HR> </CENTER><PRE> Symbol : NSCP Exchange : NASDAQ Description : NETSCAPE COMMUNICATIONS CP Last Traded at: 58.2500 Date/Time : Jul 05 1:00:36 $ Change : -2.7500 % Change : -4.51 Volume : 1000900 # of Trades : 803 Bid : 58.2500 Ask : 59.0000 Day Low : 57.5000 Day High : 60.2500 52 Week Low : 22.8750 52 Week High: 87.0000 </PRE><CENTER> <A HREF="http://www.secapl.com/cgi-bin/edgarlink?'NSCP'"> WWW hyperlinks</A> for the symbol NSCP are available including those from the <A HREF="http://town.hall.org/edgar/edgar.html">EDGAR Dissemination Project.</A> <HR> <P> <A HREF=http://www.secapl.com/secapl/quoteserver/mw.html> <FONT SIZE=+1><B>Market Watch</B></FONT></A> A Detailed Look at Market Activity <BR> <HR WIDTH=600 SIZE=3 NOSHADE> <A HREF=http://www.secapl.com/PAWLink> <IMG SRC=http://www.secapl.com/qsImages/qs.gif HEIGHT=30 WIDTH=600 BORDER=0 ALT=></A><BR> <HR WIDTH=600 SIZE=3 NOSHADE> <B> <A HREF=http://www.secapl.com/PORTVUELink> PORTVUE</A> - <A HREF=http://www.secapl.com/NEWLink.html> WhatsNew</A> - <A HREF=http://www.secapl.com/PAWLink>PAWWS</A> - <FONT COLOR=777777>QuoteServer</FONT> - <A HREF=http://www.secapl.com/PODIUMLink>PODIUM</A> - <A HREF=http://www.secapl.com/SPONSORLink>Sponsored Sites</A> </B> <HR WIDTH=600 SIZE=1 NOSHADE> <FONT SIZE=+1> <B> <A HREF=http://www.secapl.com/secapl/quoteserver/search.html>Ticker Search</A> - <A HREF=http://www.secapl.com/secapl/qsq1.html>Questionnaire</A> - <A HREF=http://pawws.com/C_phtml/calculators.shtml>Financial Calculators</A> <HR WIDTH=100 SIZE=1 NOSHADE> <A HREF=http://www.secapl.com/NEWLink>What's New</A></B></FONT> -- Jun 4 1996: <A HREF=http://www.secapl.com/APLACCESSLink>Security APLACCESS </A> - electronic statement delivery via the Internet <BR> <HR WIDTH=600 SIZE=1 NOSHADE> <HR WIDTH=100 SIZE=1 NOSHADE> <FONT SIZE=-1> <A HREF=http://www.secapl.com/HOMELink> <B>Security APL</B></A> <I>and</I> <B><A HREF=http://www.secapl.com/NAQLink> North American Quotations, Inc.</B></A> <I>make no claims concerning the validity<BR> of the information provided herein, and will not be held liable for any use thereof.</I> </B> </FONT> </NOBR> <HR WIDTH=600 SIZE=3 NOSHADE> <I><A HREF=http://www.secapl.com/HOMELink>Security APL</A><BR> <A HREF=mailto:g.www@secapl.com>g.www@secapl.com</A></I> </CENTER></BODY></HTML>
To make our lives a lot easier, we won't attempt to submit the URL request by using raw socket calls--even though this can be done using Perl. Instead, let's use the WWW libraries available in the CPAN. Two important modules are HTTP::Request and HTTP::Response. Here, you'll use the HTTP::Request module to package up the URL request and the HTTP::Response module to handle the data coming back. The other module needed here is the LWP::UserAgent module. This powerful module acts as our communications vehicle. The code to retrieve data from the URL looks as simple as Listing 9.2.
Figure 9.1. The Security APL Quote Server, seen in Netscape.
by
updated