Works fine for me. Note that, since CGI's form fields are sticky, you don't even need to set the default value. It will just pick up the current value(s) for the 'country' parameter anyway.
If you really want to change the a form field's initial values, the docs for CGI explain how:
Another note The default values that you specify for the
forms are only used the first time the script is invoked
(when there is no query string). On subsequent
invocations of the script (when there is a query string),
the former values are used even if they are blank.
If you want to change the value of a field from its
previous value, you have two choices:
(1) call the param() method to set it.
(2) use the -override (alias -force) parameter (a new
feature in version 2.15). This forces the default value
to be used, regardless of the previous value: