in reply to standard perl module and BEGIN block.

Re item 2: Check out the node inheritance problems for an example of where BEGIN { @ISA = ... } was useful.

Re item 3: BEGIN { use ... } is redundant.
use Module; is about equiv to BEGIN { require Module; Module->import(); }
use Module (); is about equiv to BEGIN { require Module; }
use Module qw(list); is about equiv to BEGIN { require Module; Module->import(qw(list)); }