Louis,
So far, it doesn't seem like anything would prevent you from using a hash. If you are "locked in" to an array for some unspecified reason, there is Array::Unique. Keep in mind that the tied array will function much more slowly than a non-tied array.