On Wed, 2007-08-29 at 19:15 -0400, Guy Hulbert wrote: [snip] > And better get the number of bits correct. An IP address is a 32 bit > integer, not 15 characters. Although perl converts scalars on-demand,
I should have said 'unsigned'. [snip] > IPv-agnostic. At this point we are at 128 bits (8 bytes) - same as > UUID. [EMAIL PROTECTED]:~$ ./quid 46d604d6-000827f7-4adc-00000000-c0a80005 ------- 'quid' = qpsmtpd uid ----- #!/usr/bin/perl -w use strict; use Time::HiRes qw( gettimeofday ); use Socket; use vars qw ( $rcpt $iaddr $me ); $me='cal'; $iaddr = unpack('N',((gethostbyname($me))[4])); $rcpt = 0; print sprintf("%08x-%08x-%04x-%08x-%08x\n",gettimeofday,$$,$rcpt,$iaddr); ---------------------------------- Requirements 1. Unique transaction ID (gettimeofday, $$) 2. RCPT counter ($rcpt) 3. Multiple hosts ($iaddr) 4. Format (e.g. %0#x-) [snip] -- --gh