Here's another, similar, approach...
#!/usr/bin/perl -w use strict; # put data in an array (however you want to do it) my @weather_data = split "\n", <<_END_; Ca,Freemont 87 45 91 56 89 54 67 45 76 43 81 48 76 43 Ca,Berkley 56 34 67 38 66 34 56 31 67 45 71 45 65 42 Tx,Houston 88 34 77 36 75 31 72 30 81 31 79 51 75 28 Tx,Dallas 76 43 79 45 87 28 86 32 84 45 78 46 83 23 _END_ # store data here my %temp = (); # cycle through all data for (@weather_data) { # grab state and city next unless (/^(\w+)\W+(\w+)/); my $state=$1; my $city=$2; # set as default if none set $temp{$state}{'max_city'} ||= $city; $temp{$state}{'min_city'} ||= $city; # grab and compare temperatures while (s/(\d+)//) { my $this_temp = $1; # set as max/min if none set $temp{$state}{'max'} ||= $this_temp; $temp{$state}{'min'} ||= $this_temp; # check whether temp new max or min and assign data if ($temp{$state}{'max'} < $this_temp) { $temp{$state}{'max_city'} = $city; $temp{$state}{'max'} = $this_temp; } elsif ($temp{$state}{'min'} > $this_temp) { $temp{$state}{'min_city'} = $city; $temp{$state}{'min'} = $this_temp; } } } # display results for (keys %temp) { print "$_ max temp $temp{$_}{'max'} $temp{$_}{'max_city'}\n"; print " min temp $temp{$_}{'min'} $temp{$_}{'min_city'}\n\n"; }

Of course, you'll have to amend this if you want all results shown in the case of a tie :)

cLive ;-)


In reply to (cLive ;-) Re: How do i sort by cLive ;-)
in thread How do i sort by pradsham

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.