Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Re: Re: Re: Confessions of an Initiate: a first Perl program

by mooseboy (Pilgrim)
on Nov 22, 2002 at 18:56 UTC ( [id://215227]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Re: Confessions of an Initiate: a first Perl program
in thread Confessions of an Initiate: a first Perl program

Done it! Of course, you did give me just a teensy-weensy little hint, Chmrr... many thanks! Here's the final (?) version:

#!/usr/bin/perl use warnings; use strict; use CGI; ## Chmrr's revision, very slightly modified ## Column headings my @members = qw/ Algeria Indonesia Iran Iraq Kuwait Libya Nigeria Qat +ar Saudi_Arabia UAE Venezuela total_OPEC /; @members = map { tr/_/ /; $_ } @members; ## Load data my (%quotas, @dates); while (<DATA>) { ( my $period, $_ ) = split ':'; push @dates, $period; @{$quotas{$period}}{@members} = split ' '; } ## Introductory paragraph my $query = CGI->new(); print $query->header("text/html"), $query->start_html( -title => "QuotaBase: a database of OPEC oil p +roduction quotas", -bgcolor => "#cbcbcb" ), $query->h1("Welcome to QuotaBase!"), $query->table( $query->Tr( $query->td({-width => "600"}, $query->p(<<EOP) QuotaBase is an interactive database of OPEC oil production quotas. By + default, the <b>current quotas</b> are displayed. To view <b>histori +cal quota information</b>, select the period you want from the drop-d +own list and click the 'Show quotas' button. A table of all the quota +s for that period will be displayed. EOP ) ) ), $query->start_form(), "Choose a period: ", "&nbsp;", $query->popup_menu( -name=>'period', -values=>[@dates], -default=>(@dates)[0]), "&nbsp;&nbsp;", $query->submit(-name=>'submit', -value=>'Show quotas'), "&nbsp;&nbsp;", $query->defaults('Reset current quotas'), $query->endform; ## Data table my $period = $query->param('period') || (@dates)[0]; print $query->table({-border=>1}, $query->Tr( $query->td({-colspan=>2,-align=>"center +"},"<b>$period</b>") ), map { $query->Tr( $query->td({-width=>130,-align=>"left +" }, $_), $query->td({-width=>130,-align=>"righ +t"}, $quotas{$period}{$_}) ) } sort keys %{$quotas{$period}} ); print $query->end_html; __DATA__ Jan 02 - Dec 02: 693 1125 3186 0 1741 1162 1787 562 7053 1894 2 +497 21700 Sep 01 - Dec 01: 741 1203 3406 0 1861 1242 1911 601 7541 2025 2 +670 23201 Apr 01 - Aug 01: 773 1255 3552 0 1941 1296 1993 627 7865 2113 2 +786 24201 Feb 01 - Mar 01: 805 1307 3698 0 2021 1350 2075 653 8189 2201 2 +902 25201 31 Oct 00 - Jan 01: 853 1385 3917 0 2141 1431 2198 692 8674 2333 3 +077 26700 1 Oct 00 - 30 Oct 00: 837 1359 3844 0 2101 1404 2157 679 8512 2289 3 +019 26200

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://215227]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2024-12-12 16:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Which IDE have you been most impressed by?













    Results (65 votes). Check out past polls.