[dancer-users] Splat pollution of params' space

alois.mahdal.1-ndmail at zxcvb.cz alois.mahdal.1-ndmail at zxcvb.cz
Wed Dec 26 20:33:54 GMT 2012


Hello dancers!

I like Dancer but I'm having a little problem with this
regex/wildcard matching.  The issue is that hash returned
by params() in the relevant sub always contains 'splat'
key referring to array of matches.

Maybe this reference might be useful (when?), what if
I *really* want to pass "splat=splosh"?  According to
my testing, the value is lost!


Can this behavior be disabled?

Or is it a bug?  (IIUC, I can always do `[ splat ]` so why
the pollution?)


For illustration, request is:

      GET /there?splat=splosh&bar=baz

and relevant route:

      get qr{(.*)} => sub {
          my $params  = params();
          my ($path)  = splat;            # '/there'
          my $foo     = $params->{foo};   # 'bar'
          my $splat   = $params->{splat}; # [ '/path' ] instead
                                          # of 'splosh'!
          my $splat   = param('splat');   # '/there'
      }


Thanks,
aL.

-- 
Alois Mahdal


More information about the dancer-users mailing list