Ah. Thanks for the sample. Also, thanks to Wind for narrowing the issue to the start_form/end_form because I was not able to replicate the problem before using <form>.
Anyway, here is my new solution:
I updated file name to $f to match original sample.
if ($which_radio_button eq q{}) {
$query->delete("$f");
}
see sample:
#!/usr/bin/perl -w
use CGI;
use strict;
my $query = CGI->new;
print $query->header;
my $button = $query->param('submit');
my @fs = ('test1.txt', 'test2.txt', 'test3.txt', 'test4.txt');
if ($button eq "save") {
foreach my $f (@fs) {
my $which_radio_button = $query->param("$f");
print "for $f you selected $which_radio_button<BR>\n";
if ($which_radio_button eq q{}) {
$query->delete($f);
}
}
#$query->delete_all();
}
print "<html><body>";
print $query->start_form();
#print $query->defaults('Restore to Defaults');
foreach my $f (@fs) {
print $query->radio_group(-name=>$f,
-value=>['c','r','t','s'],
-default=>'-');
print "<BR>";
}
print $query->defaults('Return to default');
print $query->submit(-name=>'submit',-value=>'save');
print $query->end_form();
print "</body></html>";
If you add $query->delete($f); where $f is empty you will achieve your desired result, as shown in the above example.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.