Ok,
Essentially I am trying to read a file into an array, and then display the contents of the array inside the text box.
My eventual goal is to display XML text from a file in the text area.
here is the code I am using:
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
my $cgi = new CGI;
print $cgi->header();
print $cgi->start_html('My test text box');
print $cgi->startform;
open my $FHIN, '<', "./test.file" || die "$!";
my @fhin = <$FHIN>;
print $cgi->textarea( -name=>'TEXT_AREA',
-default=>"@fhin");
print "<textarea> @fhin </textarea>";
print $cgi->end_html();
this produces two empty text boxes.
running this from the command line results in:
Content-Type: text/html; charset=ISO-8859-1
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-U
+S">
<head>
<title>My test text box</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1
+" />
</head>
<body>
<form method="post" action="http://localhost" enctype="application/x-w
+ww-form-urlencoded">
<textarea name="TEXT_AREA" >this is a test file
this is line two
three
4
foo bar
six
</textarea><textarea> this is a test file
this is line two
three
4
foo bar
six
</textarea>
</body>
So I know the text is being read into the array. But looking at the source of the page shows no text is being passed:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-U
+S">
<head>
<title>My test text box</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1
+" />
</head>
<body>
<form method="post" action="/cgi-bin/cfg_edit.cgi" enctype="applicatio
+n/x-www-form-urlencoded">
<textarea name="TEXT_AREA" ></textarea><textarea> </textarea>
</body>
</html>
and this is the contents of my test.file:
this is a test file
this is line two
three
4
foo bar
six
|