in reply to HTML::TEMPLATE question

I think this is a CGI.pm issue, rather than an HTML::Template issue. Are you defining a -default argument when you call $cgi->filefield() to create the upload field? If so, that may be what stops it doing what you want. Here's what I think is the relevant bit of the CGI docs:

The optional second parameter is the starting value for the field contents to be used as the default file name (-default). For security reasons, browsers don't pay any attention to this field, and so the starting value will always be blank. Worse, the field loses its "sticky" behavior and forgets its previous contents. The starting value field is called for in the HTML specification, however, and possibly some browser will eventually provide support for it.

(emphasis added). Hope that's some help.

Update: having re-read the question more attentively (*wry grin*) I see you're not using CGI to make the field, but you do have a "value" element in your field: it might be worth seeing what happens if you take that out first time round.

§ George Sherston