On Thu, 2008-10-09 at 19:31 -0400, David wrote: > However, when I insert some code to write to a file it fails an odd death: > > #!/usr/bin/perl -w > use strict;
use warnings; # This is preferred over the -w in the shebang line # use diagnostics; # This may replace warnings and gives a long explanation > my $answer; > open(WRITE,"+>/Users/dave/Documents/Programming/Perl/081008mathtables/add.txt") open WRITE, '+>', '/Users/dave/Documents/Programming/Perl/081008mathtables/add.txt' or die "cannot open file: $!"; # You forgot the ; at the end # You should always test an open to make sure it has worked # The three-argument open is preferred over the two-argument one # +> means open to write and read back later # since your program is not reading the file, you should use just > # See `perldoc -f open` for details > > for ($a = 1; $a <= 100; $a++) # You shouldn't use $a; sort uses it and may have collisions # See `perldoc -f sort` for details > { > for ($b = 1; $b <= 100; $b++) # You shouldn't use $b; sort uses it and may have collisions > { > $answer = ($a-$b); > print WRITE "$a - $b\t$answer\n"; print WRITE "$a - $b\t$answer\n" or die "cannot print to file: $!"; # You should always test printing to file > > } > } > > close(WRITE); close WRITE or die "cannot close file: $!"; # You should always test a close on a write # When the program is printing it is printing to a buffer # that only gets written to file when the buffer is full # or the file is closed. So a close may cause a write to disk. # $! in a string context is the English (en_US) error message -- Just my 0.00000002 million dollars worth, Shawn Linux is obsolete. -- Andrew Tanenbaum -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/