從in the CGI.pm docs報價:爲什麼CGI.pm仍然使用「 0」作爲空字符,當它被視爲Perl中的普通字符?
當使用這個,你必須注意的事情是多值CGI 參數。由於哈希無法區分標量和列表 上下文,因此多值參數將作爲由「\ 0」(空)字符分隔的打包字符串返回 。
然而,事實證明,\0
沒什麼特別在Perl:
print length("test\0hi");
輸出是:
7
,而在C中,它應該是4
。
爲什麼CGI.pm仍然使用\0
作爲空字符,當它在Perl中被當作普通字符(而不是字符結尾的標記)?
CGI.pm不使用它作爲空字符。它使用它作爲分隔符,因爲它不太可能在數據中。 –