Прежде чем писать эту программу, я подумал, что our
- это переменная области пакета, а my
-
переменная области файла. Но после этой программы я запутался.
Моя программа,
#!/usr/bin/perl
use strict;
use warnings;
package one;
our $val = "sat";
my $new = "hello";
print "ONE:val =>$val \n";
print "ONE:new =>$new \n\n";
package two;
print "TWO:val =>$val \n";
print "TWO:new =>$new \n";
который выводит
ONE:val =>sat
ONE:new =>hello
TWO:val =>sat
TWO:new =>hello
Итак, в чем разница между my
и our
. Оба они одинаковы или имеют какую-либо разницу?