में इतना यादृच्छिक नहीं है मेरे पास एक पर्ल स्क्रिप्ट है जो मुझे यादृच्छिक संख्या, अक्षरों और कुछ विशेष पात्रों की एक 50 वर्ण स्ट्रिंग प्रदान करती है। मैं उन्हें डेटाबेस में इनपुट कर रहा हूं। अब, स्ट्रिंग की लंबाई और वर्णों की मात्रा दी गई, मुझे नहीं लगता कि डुप्लिकेट आसानी से बनाए जाएंगे।रैंड() perl
my $random_id='';
my @c = ("A" .. "Z", "a" .. "z", 0 .. 9, qw(! @ $ %^& *));
$random_id = join '', map $c[rand @c] , 1 .. 50;
ऐसा लगता है कि तार का उत्पादन:
यहाँ कि स्ट्रिंग बनाता है कोड का निफ्टी का डला है!
C1Qt8L7E7QUD% lkxnh9yjZ2njF0iMj 1o^4DmTbVNhQB9% DKE @
समस्या यह है कि यह अद्वितीय रूप से एक बार और कुछ समय में एक सटीक स्ट्रिंग को डुप्लिकेट करेगा, और कुछ तारों पर एक से अधिक बार। और यह 20 तारों से बाहर है। यह विचित्र है। मैं इसके चारों ओर काम कर सकता हूं और एक समाधान ढूंढ सकता हूं ... लेकिन यह मुझे थोड़ा परेशान करता है। जानना चाहते हैं क्यों। किसी के पास कोई विचार है?
हाय पॉल। टिप्पणी के लिए धन्यवाद! – DataHerder
वूप्स ... को जवाब नहीं मिला। अगर मैं रैंड() को srand() में बदलता हूं तो यह अब पूरी तरह से बीबीबीबीबीबीबीबीबीबीबी आउटपुट करता है .. हर बार। : – DataHerder
perl 5.1 जिस तरह से – DataHerder