in reply to Help to handle subroutine

There are two methods how you can store keys with the same value:

1) Concatenate the values in a string, the relevant key would look like '3' => 'C:V',. You have to pick a separator that can't occur in the values. Extracting the values can be done with split()

2) Use an array to collect the values, i.e. '3' => [ 'C','V' ]. Safe but slightly more complicated syntax. The preferred way

If you insist on having duplicate keys, there is a third way: Add a suffix to the duplicate value if the value already exists, i.e. '3' => 'C', '3+' => 'V'. But this complicates your code, is a hack and I can't think of a single advantage to the first two methods