Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Sorting text databases with perl's sort function

Sorting text databases with perl's sort function

Sorting text databases with perl's sort function


I have a flat file text database with fields separated by pipes.

I have to be able to sort any text field in descending or ascending order. I have tried to use the perl sort function in combination with building up a hash as I have seen in other posts.

I can get it to work if I make the hash in the format:
(val_to_sort_by => row)
i.e. the hash key is the value of the field I am sorting by and the hash value is the entire row.

However this does not suit my purpose because there are case in which the field I am sorting by has duplicate values on various rows. In this case, using the field value as the hash key is not possible because the value is not unique.

I would like to use the perl sorting function as it is neat and quick, but I am thinking I will have to write brute force sorting function myself. Can anyone advise on how to sort such files?

Thanks in advance

Joe Niland

RE: Sorting text databases with perl's sort function

You could arrange it so that the hash is always built using unique data as the key value -- but that the field you want to sort by is the *first* field in the data..

Then, instead of calling

sort keys (%hasha)


sort values (%hasha)

Cargill's Corporate Web Site
Making mistakes, so you don't have to. <grin>

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close