मेरे पास एक पर्ल स्क्रिप्ट है जो टेक्स्ट फ़ाइल में विभिन्न तारों की घटनाओं की संख्या की गणना कर रही है। मैं यह जांचने में सक्षम होना चाहता हूं कि एक निश्चित स्ट्रिंग हैश में अभी तक एक कुंजी नहीं है। क्या यह पूरी तरह से करने का एक बेहतर तरीका है?मैं कैसे देख सकता हूं कि एक पर्ल हैश के पास पहले से ही एक निश्चित कुंजी है या नहीं?
यहाँ मैं क्या कर रहा हूँ है:
foreach $line (@lines){
if(($line =~ m|my regex|))
{
$string = $1;
if ($string is not a key in %strings) # "strings" is an associative array
{
$strings{$string} = 1;
}
else
{
$n = ($strings{$string});
$strings{$string} = $n +1;
}
}
}
सवाल यह है कि आप इसके साथ परेशान क्यों हो रहे हैं? यदि यह अस्तित्व में नहीं है तो $ n अनिश्चित होगा। Undef का संख्यात्मक मान 0 है, इसलिए $ n + 1 = 1। यह जांचने की कोई आवश्यकता नहीं है कि हैश में शुरुआत हो रही है या नहीं। –