Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3456678
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T09:46:00+00:00 2026-05-18T09:46:00+00:00

I have a situation where I have an application and it maps to a

  • 0

I have a situation where I have an application and it maps to a directory I need to process in a zipfile. The mapping is quite simple:

CWA => "Financial",
PIP => "",
IFA => "IFA",
VDX => "Financial,

That is, if the name of the file begins with CWA, I know the directory I have to munge is under Financial. If the file name begins with a IFA, I know the directory name is IFA. I’d like to set this up as a hash (easy enough), but since these values don’t really change, I’d like to setup this key => value mapping as a hash constant.

I don’t believe this is possible, so I’d like to do the next best thing. What would that be? Or, can you setup a hash constant?

I’m thinking of writing a subroutine where you pass a parameter and it returns the correct value. After all, it’s really the way constants themselves work, and it’d guarantee that the relationships between the keys and values don’t change through out the program.

Or, I can simply declare the key => value relationship in the beginning of my program and hope that the key => value pairs aren’t modified by something. This would be easier to read, and easier to modify if you have to since it’s on the very top of my source code.

What’s the best way to implement a key => value constant?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T09:46:00+00:00Added an answer on May 18, 2026 at 9:46 am
    1. Just use a named hash. Most likely, nothing will go wrong.

    2. Use Readonly. This makes a hash that is accessed like any other hash, but can’t be modified unless someone starts mucking around in the perl internals. As stated in its docs, it’s slow compared to a regular variable access, but it’s very unlikely to be slow enough to matter for you.

    3. Hide the hash in a subroutine.

    .

    sub get_directory_for_prefix {
        my ($prefix) = @_;
        my %map = (
            CWA => "Financial",
            PIP => "",
            IFA => "IFA",
            VDX => "Financial",
    
        );
        return $map{$prefix};
    }
    

    or even

    sub get_directory_for_prefix {
        {CWA=>"Financial",PIP=>"",IFA=>"IFA",VOX=>"Financial"}->{shift()};
    };
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

i have a input tag which is non editable, but some times i need
I have a project that adds elements to an AutoCad drawing. I noticed that
I have a script that appends some rows to a table. One of the
I have a new web app that is packaged as a WAR as part
I have several USB mass storage flash drives connected to a Ubuntu Linux computer
I have a snippet to create a 'Like' button for our news site: <iframe
I have found this example on StackOverflow: var people = new List<Person> { new
I have a login.jsp page which contains a login form. Once logged in the
Let say I have the following desire, to simplify the IConvertible's to allow me
There doesn't seem to be any tried and true set of best practices to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.