完全不懂Perl,但有段代码需要知道什么意思,特求助

完全不懂Perl,但有段代码需要知道什么意思,特求助

BEGIN {
     my $homedir = (getpwuid($>))[7];
     my $n_inc = scalar @INC;
     for (my $i = 0; $i < $n_inc; $i++ ) {
          if (-d $homedir . '/perl' . $INC[$i]) {
              unshift(@INC,$homedir . '/perl' . $INC[$i]);
              $n_inc++;
              $i++;
          }
     }
}

这是在bluehost主机环境中,安装非系统自带模块后需要在脚本中添加的一段代码
但完全不懂perl,特求助啥意思啊

谢谢
注册:2005-6-29
最后登录: 2008-03-13
帖子:2
精华:0

LZ潜水功夫了得啊.
所谓“查找路径”,正式应该称为“包含路径”,即执行脚本时,perl会到查找路径中寻找模块。

这段代码就是将自己安装的模块的路径添加到Perl的查找路径中,
这样你的模块才能被perl找到

QUOTE:
原帖由 neveta 于 2008-3-13 17:51 发表
BEGIN {
     my $homedir = (getpwuid($>))[7];             # 获得当前用户主目录
     my $n_inc = scalar @INC;                          # 获得当前查找路径的个数
     for (my $i = 0; $i < $n_inc; $i++ ) {           # 依次检查每个查找路径
          if (-d $homedir . '/perl' . $INC[$i]) {       # 如果在你的当前目录下存在同样结构的路径的话(你的模块就在这里)
              unshift(@INC,$homedir ...                  # 就把它们加到查找路径中



QUOTE:
原帖由 odacharlee 于 2008-3-13 22:46 发表
所谓“查找路径”,正式应该称为“包含路径”,即执行脚本时,perl会到查找路径中寻找模块。

这段代码就是将自己安装的模块的路径添加到Perl的查找路径中,
这样你的模块才能被perl找到


非常的感谢!终于知道站点的错误出在哪里了