>>802
BEGIN{ $main::PI=3.14 };
はBEGINブロックが実行されるタイミングで
$main::PIに3.14を代入するだけで、以後に
出現する裸の$PIが$main::PIのことであると
いうような意味はどこにもないよ。スコープ
とかmyとかourとかパッケージとか勉強し直す
ことをお勧めする。

複数のファイルから同じ定数を使いたければ

[MyConstant.pm]
use strict;
package MyConstant;
use Exporter qw(import);
@EXPORT = qw(PI);

use constant PI => 3.14;
1;

と用意しといて各ファイルからは

[main.pl]
use strict;
use MyConstant;

print PI;

とかいう風にuseして使うのが普通。