我试图从CGI理解一些代码。点,具体来说:
package CGI::MultipartBuffer;
....
$MultipartBuffer::INITIAL_FILLUNIT ||= 1024 * 4;
...
$INITIAL_FILLUNIT = $MultipartBuffer::INITIAL_FILLUNIT;
我需要知道的是$MultipartBuffer::INITIAL_FILLUNIT
和$INITIAL_FILLUNIT
的完全限定名,因为在我的解释中,它们都应该是$CGI::MultipartBuffer::INITIAL_FULLUNIT
,但我一定是错了,否则为什么需要第二个赋值语句?
$INITIAL_FILLUNIT
没有声明,所以它是一个包变量。[1]由于当前包是CGI::MultipartBuffer
,它指向$CGI::MultipartBuffer::INITIAL_FILLUNIT
。
这意味着
$INITIAL_FILLUNIT = $MultipartBuffer::INITIAL_FILLUNIT;
是
$CGI::MultipartBuffer::INITIAL_FILLUNIT = $MultipartBuffer::INITIAL_FILLUNIT;
- 这是
use strict;
禁止的。