When trying to parse the parameters to a Form with action=POST I run into this strange behaviour:


crew(Arg, N) ->
  % Name = f("crew_~B", [N]),
    Name = lists:concat(io_lib:format("~s~B", ["crew_",N])),

    case yaws_api:getvar(Arg, Name) of
{ok, Member} -> #crewmember{naam = Member};
_ -> Name
    end.

My initial guess was to generate key names with f(...) but that lead to this output where the case matches the _ clause and it shows up as 
[[99,114,101,119,95,"1"],
[99,114,101,119,95,"2"]

When I use the lists:concat it does match the {ok, Member} clause. It gives the expected:
[{crewmember,"jan",undefined},
{crewmember,"piet",undefined},

What is going on here? When is a string a string?

Regards, Guido.