diff --git a/lib/Dancer.pm b/lib/Dancer.pm index dbd100dc3..b804df2a6 100644 --- a/lib/Dancer.pm +++ b/lib/Dancer.pm @@ -312,6 +312,13 @@ sub _init { my ($script_vol, $script_dirs, $script_name) = File::Spec->splitpath(File::Spec->rel2abs($script)); + + # normalize + if ( -d ( my $fulldir = File::Spec->catdir( $script_dirs, $script_name ) ) ) { + $script_dirs = $fulldir; + $script_name = ''; + } + my @script_dirs = File::Spec->splitdir($script_dirs); my $script_path = Dancer::FileUtils::d_catdir($script_vol, $script_dirs);