Question: So that in future the break points take affect as soon as the target file is loaded. Otherwise the debugger hardly helps ...

```
main::(test.pl:7):      Class->new->go;
  DB<1> f Movie.pm
No file matching `Movie.pm' is loaded.
  DB<2> b Movie.pm:10
Subroutine main::Movie not found.

```

I know `Movie.pm` will be loaded and want to set a bp on its 10th line...

Answer: 
Workaround: `require` the module when the debugger starts. You can put stuff in your [`.perldb` rc file](http://p3rl.org/debguts) so you don't have to type/paste it every debugger session.
According to the [DOC](http://perldoc.perl.org/perldebguts.html#Debugger-Internals)

> 
> After each required file is compiled, but before it is executed, DB::postponed(\*{"\_<\$filename"}) is called if the subroutine DB::postponed exists. Here, the $filename is the expanded name of the required file, as found in the values of %INC.
> 
> 
> 

So you may hook this event and set breakpoints as soon as your module is loaded.

Also you may try the [Devel::DebugHooks](https://metacpan.org/release/Devel-DebugHooks) module. Feel free to ask me on irc.perl.org #debughooks if you have any questions