http://www.perlmonks.org?node_id=757065


in reply to Further On Down the Line

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) close $fh;

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 +h;'

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 perldoc perldoc perlrun 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.