2011-10-11 68 views
0

今天我上电脑时,我发现了一个不愉快的惊喜。每天,第一个Perl程序运行我是一个很简单的一个,以确保一切工作顺利:@INC包含“。”

use 5.12.4; 
use strict; 
use warnings; 

my $greeting="Hello, World"; 
print $greeting; 

然而如今,事情并没有按计划走。尝试运行该程序时出现以下错误:Can't locate strict.pm in @INC (@INC contains: .)。 @INC不包含“。”。这里发生了什么,我该如何解决这个问题?

感谢

+0

有些东西会将您的包含路径重置为仅当前目录。 –

+0

@MarcB:那我该如何解决这个问题? – Dynamic

回答

7

[op为一个crosspost]

.” 始终是@INC部分(除污染模式),所以它不是真的,@INC不包含 “.” 之前。此外,“.”的存在与否与您的问题无关。问题是应该存在的其他路径丢失。

此问题是由perl无法访问其库目录造成的。也许你失去了访问这些目录的权限,或者目录不见了。

修复权限或恢复目录(可能通过重新安装Perl)。

+0

那么有关如何解决这个问题的任何想法? – Dynamic

+1

@ perl.j,它应该不言而喻,但这里有:修复权限或恢复目录(可能通过重新安装Perl)。 – ikegami

+0

谢谢。我会尝试并回复你。 – Dynamic