Why should $main::{$softref} become subject to stricture? After all, it is an obviously intentional symbolic lookup. If you forbid it, Object->$methodname() would have logically to be forbidden as well, wouldn't it? In fact, Object->method() is a symbolic lookup on a bareword; now things get tricky..
Makeshifts last the longest.
Comment on Re^2: use strict;,$main::, and AUTOLOAD: Why can't we all get along?