in reply to Re: can i concatenate various value to form a unique key
in thread can i concatenate various value to form a unique key

hoo so is it possible to have mutiple values as key whose combination will be unique? and I dont have to download any CPAN modules for the same also?
  • Comment on Re^2: can i concatenate various value to form a unique key

Replies are listed 'Best First'.
Re^3: can i concatenate various value to form a unique key
by Marshall (Canon) on Jul 03, 2009 at 12:19 UTC
    The short answer is yes. A hash key can be any string as long as that string is unique. The "classic example" is printing a file and omitting duplicate lines that have been seen before....
    #!usr/bin/perl -w use strict; my %seen; while (<DATA>) { print unless $seen{$_}++; } #Prints: #1 2 this is a line with 1 and 2 #3 a line with just 3 #5,6 five before 6 #5,6 five before six (different) #6,5 #blah __DATA__ 1 2 this is a line with 1 and 2 3 a line with just 3 1 2 this is a line with 1 and 2 3 a line with just 3 5,6 five before 6 5,6 five before six (different) 6,5 blah blah
    In general, I would not concatenate keys together. Well, until you have learned multi-dimensional structs, I would say that concatenating 2 things and not more is "ok".

    There are some advanced techniques where say 8 dimensions can be combined into a single hash key, but those situations are seldom and not applicable for normal code (a way to describe state tables and a way to simplify horrifically complex logic statements).