When using constants, they are implemented as constant functions that behave as:
use subs 'BASE_PATH';
sub BASE_PATH () {"/data/monitor/"}
BASE_PATH .
, ( BASE_PATH ) BASE_PATH :
use subs 'BASE_PATH';
sub BASE_PATH {"/data/monitor/"}
print "BASE_PATH is ".BASE_PATH."\n";
*BASE_PATH = sub {"/new/path"};
print "BASE_PATH is ".BASE_PATH."\n";
, .