Well sorting alphabetically is easy, even a simple search on perlmonks can tell you how to do that. I can even give you the node: How do I sort something alphabetically?
in reply to Finishing Touches
For your result grouping, if you always load the entire file into an array on each page load you can simply do something like
You'll have to set it up so that the first time the results are displayed it starts with 0. Then on each page load set the next 10 and previous 10 links to pass paramaters back to be used in $start as $start + 10; or $start - 10;
my $start = (get starting number from your input);
(do things with $array[$_]);
Oh, also you'll probably want to throw something in to break out of the loop if $_ becomes greater than the size of the array.
I havent really answered your question explicitly, as I got the idea that you just wanted a start, and would sort out the gory stuff yourself :)