Hi

I was using the following idiom, and everything was working fine

   ----
   package app;
   use Dancer ':syntax';
   use Dancer::Plugin::Ajax;

   load_app "app::app1", prefix => "/app1";
   load_app "app::app2", prefix => "/app2";

   ..

   true;
   ----

   package app::app1;
   use Dancer ':syntax';

   ..

   true;
   ----

   package app::app2;
   use Dancer ':syntax';

   ..

   true;
   ----

The above was a holdover from earlier versions of Dancer, but, as I
noted above, it was working fine. Today I noticed that the
Dancer::Cookbook has a different suggestion, so I implemented that and
ran into a problem. My new implementation is

   ----
   package app;
   use Dancer ':syntax';
   use Dancer::Plugin::Ajax;

   use app::app1;
   use app::app2;

   prefix undef;

   ..

   true;
   ----

   package app::app1;
   use Dancer ':syntax';
   prefix 'app1';
   ..

   true;
   ----

   package app::app2;
   use Dancer ':syntax';
   prefix 'app2';
   ..

   true;
   ----

I get the following error

 Error while loading /Users/punkish/Sites/app/app.pl: unable to load
application app : not a valid prefix: `app', must start with a / at
/usr/local/lib/perl5/site_perl/5.12.1/Dancer/App.pm line 32., referer:
http://app.local/app1/

What gives?

a prefix must start with '/', if the '/' is missing in the cookbook, it's an error, and that will be fixed right away. 

However, I prefer your first solution :)  (load_app "app::app1", prefix => "/app1";)