一つのファイルに以下のように書きます。

use strict;
my $a = 1;
print "$a\n";

これは正しいのに

# b.pl
my $a = 1;
1;


#a.pl

use strict;
require "b.pl";
print "$a\n";

これは正しくないのは何故ですか?
b.plで変数を宣言し、a.plでb.plをrequireしたら、b.plで宣言した変数が使えるのではないですか?