Consider loading your data into a hash-of-hashes structure:
use warnings; use strict; my %data; <DATA>; # Discard header while (<DATA>) { chomp; my ($tick, @cols) = split /\s*\|\s*/; my %comp; @comp{qw(name price cap ind)} = @cols; $data{$tick} = { %comp }; } use Data::Dumper; $Data::Dumper::Sortkeys=1; print Dumper(\%data); __DATA__ TICKER| CO. NAME| PRICE| MARKET CAP| INDUSTRY ABC | ABC Co.| 15.5| 5000| Industrials AB | Alpha Beta| 12| 2500| Materials DOZ | ZZZZZ| 5.05| 2800| Telecom DX | DX Co.| 77.2| 12000| Industrials DXX | DXX Co.| 50.25| 9000| Utilities

Prints:

$VAR1 = { 'AB' => { 'cap' => '2500', 'ind' => 'Materials', 'name' => 'Alpha Beta', 'price' => '12' }, 'ABC' => { 'cap' => '5000', 'ind' => 'Industrials', 'name' => 'ABC Co.', 'price' => '15.5' }, 'DOZ' => { 'cap' => '2800', 'ind' => 'Telecom', 'name' => 'ZZZZZ', 'price' => '5.05' }, 'DX' => { 'cap' => '12000', 'ind' => 'Industrials', 'name' => 'DX Co.', 'price' => '77.2' }, 'DXX' => { 'cap' => '9000', 'ind' => 'Utilities', 'name' => 'DXX Co.', 'price' => '50.25' } };

Refer to perldsc. You need to decide how to manipulate it from there.


In reply to Re: Reading Text File into Hash to Parse and Sort by toolic
in thread Reading Text File into Hash to Parse and Sort by Perl_Derek

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.