Here's my scenario: I am building an image viewer and I have a DB_File db with a numeric key and an image URL for the value.

I am going to have a NEXT and LAST link which will be a link that looks like $script.pl?img=100. Now if we were on image 100, the LAST would be 99 and the NEXT would be 101.

Some images will be removed which means image 101 might not be there anymore. I need to find a way to make it loop until it finds the NEXT available key backwards and forwards with missing ones in mind. In this example, if we were on image 100 and 101 was missing, it'd check to see if 102 existed, and 103..

On the same token, how would I determine if a key is the last one I have? Say there's 500 images, how would I check to make sure image 500 has no images after?

Thank you for your wisdom


In reply to finding next key in db_file by Anonymous Monk

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.