Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^3: can i concatenate various value to form a unique key

by Marshall (Canon)
on Jul 03, 2009 at 12:19 UTC ( [id://777045]=note: print w/replies, xml ) Need Help??


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

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).

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://777045]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2024-04-20 02:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found