#-------------------------# # Standard EDGAR Routines # #-------------------------# # # Supply the go-home and back.gif link. # sub home{ local ($gif,$text) = @_; # if nothing supplied, set default to back.gif and vanilla caption. if ($#_ < 0) { # check out the funky $#_ !! $gif = "back.gif"; $text = "Return to our Home Page"; } print "
"; print ""; print ""; print "$text"; print "
"; } # # Supply English Descriptions for the chief filing types. # sub form_init { %forms = ( '10-K', 'Annual Report', '10-K/A', 'Ann. Rpt. Amendment', '10-Q', 'Quarterly Report', '10-Q/A', 'Qtr. Rpt. Amendment', '8-K', 'Current Event', '8-K/A', 'Curr. Event Amend.', 'SC 13D', '>= 5% Acquisition', 'SC13D', '>= 5% Acquisition', 'N-2', 'Closed-End Fund', 'N-1A','Open-End Fund', 'SC 13D/A', 'Acquis. Amendment', 'SC13D/A', 'Acquis. Amendment', 'NSAR-A', 'Semi-annual Fund Rpt.', 'NSAR-B', 'Semi-annual Fund Rpt.', '13F-E', 'Mutual Fund Holding', '485', 'Post-Eff. Fund Prospectus', '424B2', 'Prospectus Supplement', '424B1', 'Prospectus Supplement', '424B5', 'Prospectus Supplement', '485BPOS', 'Post-Eff. Fnd Pspcts.', '485APOS', 'Post-Eff. Fnd Pspcts.', 'DEF 14A', 'Definitive Proxy', 'DEF14A', 'Definitive Proxy', 'S-3', 'Stock/Bond Regis.', 'S-3/A', 'Stock/Bond Reg. Amnd.', 'SC 13G', '>= 5% Acquisition', 'SC13G', '>= 5% Acquisition', 'SC 13G/A', 'Acquis. Amendment', 'SC13G/A', 'Acquis. Amendment', 'S-8', 'ESOP', '11-K','ESOP Ann. Rpt.', '497','Fund Prospectus', '497J','Fund Prospectus', 'PRE 14A','Prelim. Proxy', ); } sub nyu_trailer{ # &home; local($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime; local(@days) = ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'); local(@months) = ('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); print "
"; print "

"; print "

"; print "

\nGenerated by the NYU Stern School of Business Information Systems Department"; print " on ", sprintf("%02d:%02d:%02d on %s %d, %d", $hour, $min, $sec,$months[$mon], $mday, 1900+$year); print " with CGI scripts - annotated code may be found in "; print " this book ."; print "\n"; print "

Note: if you cannot retrieve a filing, retry this routine and "; print "select the alternative data site. Our routines give the user a choice"; print "of which data site to use. Try both before registering a problem report."; } sub chs_trailer{ local($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime; local(@days) = ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'); local(@months) = ('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); print "

\nGenerated by the Hydra Information Technologies "; print " on ", sprintf("%02d:%02d:%02d on %s %d, %d", $hour, $min, $sec,$months[$mon], $mday, 1900+$year); print "\n"; } sub xrt_link2 { print ""; print "Fund Sector and Stock Price Graphs"; } sub xrt_link3 { print ""; print ""; print "Fund Sector and Stock Price Graphs"; } sub illustra_trailer{ print "This query made possible by a grant from \n"; print "

"; print "\n"; print ""; print " the Illustra Database people <\/a>"; } # # Len Zacks AW and IW stuff # sub zacks_trailer{ print""; print"

"; print""; print"Return to Zacks Analyst Watch."; print"

"; print""; print"

"; print""; print"Return to Zacks Investors Window."; print"

"; } sub zacks_sponsors{ print""; print""; print "Zacks Investment Research furnished essential data for this system."; } sub deweb{ local($name)=@_; $name=~s/\+/ /g; # get rid of plus-character, which is in between words $name=~s/\%20/ /g; $name=~s/\%21/ /g; $name=~s/\%2B/+/g; $name=~s/\%3A/:/g; $name=~s/\%26/&/g; $name=~s/\%2C/,/g; $name=~s/\%28/(/g; $name=~s/\%29/)/g; $name=~s/\%2F/\//g; $name; } sub sendmail { local($to,$subject,$body) = @_; open(PIPE, "|/bin/mail '$to'") || die "cannot open mail pipe"; print PIPE "Precedence: junk\n"; print PIPE "Subject: $subject\n\n"; print PIPE "$body"; close(PIPE) || die "cannot close mail pipe"; } 1; # it is CRITICAL to end a subroutine library with a 1; # or else, no requires using this would work.