我試圖重用我們在內部使用的庫函數,但是由於我的輸入中有新的變體,所以事情並不正確,並且出現錯誤。Perl哈希鍵的合法值
我意識到問題在於它現在試圖將一個時髦的句子指定爲哈希鍵,例如下面的鍵列表,並且正如您所期望的那樣,它並不喜歡它。有沒有一種方法可以在對它進行哈希處理之前對其進行編碼,以防止Perl出現任何堵塞現象?
Document: Multiple Attribute Equals (#root3 #form input[type=hidden], #root3 #form input[type=radio])
Document: Attribute selector using UTF8 (#root3 span[lang=ä¸æ–‡])
Document: Attribute Ends With (#root3 a[href $= 'org/'])
Document: Attribute Contains (#root3 a[href *= 'google'])
Document: Select options via [selected] (#root3 #select1 option[selected])
Document: Select options via [selected] (#root3 #select2 option[selected])
Document: Select options via [selected] (#root3 #select3 option[selected])
Document: Grouped Form Elements (#root3 input[name='foo[bar]'])
Document: :not() Existing attribute (#root3 #form select:not([multiple]))
Document: :not() Equals attribute (#root3 #form select:not([name=select1]))
任何字符串都是Perl中的合法哈希鍵,包括所發佈內容的所有字符串和子字符串。此外,幾乎任何標量值都可以轉換爲字符串並用作散列鍵,包括對列表,數組和大多數類實例的引用。所以不,我不一定會期望你使用哈希的函數不喜歡它。那麼你試圖避免的具體錯誤和噱頭是什麼?這些輸入是什麼給你帶來麻煩? – mob
@mob:恩說。無可否認,使用字符串化引用作爲散列鍵通常不是非常有用,但有一個_can_可以做到。實際上,你的評論中的「幾乎」是不需要的:如果要求將標量_any_標量轉換爲字符串,則perl _will_將其轉換爲字符串,即使它可能會在執行時發出咳嗽和劈啪聲併發出警告。 (好吧,我想可以使一個超載的標量的字符串轉換例程「死亡」,但這只是簡單的愚蠢。) –
也許你應該顯示一些代碼和錯誤。 – TLP