in reply to Unique ID

Who said it had to be consecutive? This is sequential, unique (unless you can create more than one row per microsecond in a single process), and portable.

use Time::HiRes qw(gettimeofday); my ($secut,$musec) = gettimeofday; my ($uniqueid) = sprintf("%010d%06d%05d", $secut, $musec, $$);

Notes:

Spud Zeppelin * spud@spudzeppelin.com