FWIW, I think the following approach will help you, while preserving the existing code base (mostly anyway). As I understand, the main bottleneck of the problem is to lookup a record based on its key, in our case it is the customer pin, and do it efficiently.

NOTE The proposed approach depends on the data stability, i.e. it won't work if dataset is modified in the middle of the processing.

First, add a preprocessing step when the user data arrives and build simple index file 'pin' => 'record-offset' doing a linear file scan. You can use any available DBM storages. Even if your dataset is huge, resulting index file should be small enough to allow quick processing (further improvements are possible).

Second, modify your original scripts to use this index file to quickly lookup records in the original dataset based on the file offset value in the index, i.e. simple seek operation.

Hope this helps.

In reply to Re: Moving from hashing to tie-ing. by Anonymous Monk
in thread Moving from hashing to tie-ing. by eff_i_g

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.