Hello,
I get the hidden string " " as "\xa0" in CGI.pm.
Is it a natural thing?
I prefer just a " " (=\x20).
I must always do s/\xa0/\x20/g; ?
The next script test it.
Please set "a a" (a space a), enter, then set "?" and enter.
#!Perl
# $Id: TEST_SPACE.pl,v 1.0 2008-06-18 12:04 h-taguchi Exp $
use strict;
use CGI qw/:standard/;
#-------------------
# param
#-------------------
my $userid_orgin = param("userid_orgin");
my $userid_hidden_asis = param("userid_hidden_asis");
my $userid_hidden_spacer = param("userid_hidden_spacer");
if ($userid_orgin eq "?") {
# No action
} elsif ($userid_orgin eq "") {
$userid_hidden_asis = "";
$userid_hidden_spacer = "";
} else {
$userid_hidden_asis = $userid_orgin;
$userid_hidden_spacer = $userid_orgin;
}
# space to "nbsp"
$userid_hidden_spacer = spacer($userid_hidden_spacer);
my $userid_orgin_x = unpack("H*" => $userid_orgin );
my $userid_hidden_asis_x = unpack("H*" => $userid_hidden_asis );
my $userid_hidden_spacer_x = unpack("H*" => $userid_hidden_spacer);
#-------------------
# display
#-------------------
print header,
start_html("test space"),
h1("test space"),
br,
"INPUT: ", br, "\n",
"userid_orgin = '$userid_orgin' ($userid_orgin_x
)", br, "\n",
"userid_hidden_asis = '$userid_hidden_asis' ($userid_hidden_asis_x
)", br, "\n",
"userid_hidden_spacer = '$userid_hidden_spacer'
($userid_hidden_spacer_x)", br, "\n",
start_form, "\n",
"What's your userid? ", textfield("userid_orgin"), br, "\n",
"<input type=\"hidden\" name=\"userid_hidden_asis\"
value=\"$userid_hidden_asis\">\n",
"<input type=\"hidden\" name=\"userid_hidden_spacer\"
value=\"$userid_hidden_spacer\">\n",
submit, "\n",
end_form, "\n",
hr, "\n",;
exit;
sub spacer {
my $input = $_[0];
$input =~ s/ / /g; # " " →
$input;
}
__END__
Regards,
H.T.
_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs