#!/bin/perl srand(time); while (<>) { chop; $ok = 0; while ($ok == 0) { $r = rand(0xfffffff); next if ($used{"$r"}); # check if used $ok = 1; $used{"$r"} = 1; # mark it as used } printf "$_ %d\n", $r; }