if no placeholders in route, param array should be empty

I noticed that for a route with no placeholders, the param() list was being to [1] because due to the @matched assignment.

Modified it to clear @matched unless $#+ > 0, and added a test for it.