Your problems are with basic open/read/write/close to files. The first parameter to open should not be the file name... it should be a file handle.
It is better to split the second parameter in two. See this simple example:
# Write to text file:
open(my $fh, ">", $filename)
or die "Failed open for write! $!";
print $fh "Foo\n"; # Prints to file
close $fh; # Close file
# Read from text file:
open($fh, "<", $file_to_read) or die "Couldn't open! $!";
my $line = <$fh>; # Reads a line.
chomp $line; # Removes eol chars (CR,LF)
It is much better to write small test programs to check things like this out. I personally use oneliners all the time, like this:
perl -e 'open($fh, ">", "tst") or die "$!"; print $fh "XX\n"; close $f
What you really need is a good first book. There is a review link at the top of this page, it is better to go there, but you won't go wrong with "Perl Cookbook". Otherwise, for a quick look, try the shell cmds:
perldoc -f open
perldoc Tk # (Added as Edit.)
(There is also a nice website, perldoc.perl.org.)
Edit: I'm thinking of trying out Devel::REPL instead of one-liners. It seems neat.
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>
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
Want more info? How to link or
or How to display code and escape characters
are good places to start.