全局变量到底怎么用? 真晕了,perl神经病

全局变量到底怎么用? 真晕了,perl神经病

set.pl:
#!/usr/bin/perl -w
$a = 'Hello';
$b = 'world';
$c = 'Hello c';
1;


file 2:
#!/usr/bin/perl -w
use strict;
require 'set.pl';

print $a;
print $b;
print $c;


为什么$a, $b都可以打印出来, 唯独$c不可以呢?  没道理啊??
说是:
Global symbol "$c" requires explicit package name at noname1.pl line 9
Execution of noname1.pl aborted due to compilation errors.


哪位帮忙解析一下?

人品问题。
版主发言别人就不敢评了
是print不出来
有了错误信息这就好办多了嘛。
给 $a $b $c 前面加上 our 就好了。
加上our也不可以, 还是$c的问题.

晕死了, 不知道撞了哪门神, 莫名其妙.

七搞八搞, 又OK了, 去掉主程序的 -w选项, 并且都加上了use strict;
代码如下:
#!/usr/bin/perl
# File: test.pl
use strict;
require 'set.pl';
print $enerlix::a."\n";
print "$enerlix::a\n";
print "$enerlix::b\n";
print "$enerlix::c\n";
sub test(){
        print "$enerlix::a\n";
        1;
}
test();


#!/usr/bin/perl -w
#File: Set.pl
package enerlix;
use strict;
our $a = 'Hello';
our $b = 'world';
our $c = 'Hello c';
1;
重装系统吧。
人品问题。和系统无关。
perl的脾气就是古怪
人品很好, 所以别人再怎么说我人品不好, 我都不生气, 呵呵.