I work around not being able to break inside of a module before the module has finished loading by just modifying the module's source code to add $DB::single = 1; before the line I want the debugger to break at.
You can also use "b load ...". Though, I found that command to be overly picky about how you specify the file name so I patched my perl5db.pl to make it less picky:
...
sub cmd_b_load {
my $file = shift;
my @files;
$file =~ s!::!/!g; # Added this line
...
$signal = 1, print $OUT "'$filename' loaded...\n"
# if $break_on_load{$filename}; # Replaced this line with the fol
+lowing:
if grep $break_on_load{$_}, $filename =~ m{(?:^|[/\\])(?=(.*))}g
+;
...