Kryten <kryte...@googlemail.com> asked:
> This is embarrassing.
> 
> All I want to do is read the content of a simple 10 line .txt file
> into an array
> and print out the lines, and I just can't seem to get it to work!
> /*
> $target = "D:\testfile.txt";
> open NEWBIE, "<"$target";
> @arr = <WAWA>;
> foreach $line (@arr) {
> print "$line\n";
> }
> close(NEWBIE)
> */

#!/usr/bin/perl

# always turn on warnings and enforce strict 
use strict;
use warnings;

# use lexical variables.
# modern Win32 knows about "normal" path separators, i.e. / instead of \
# use single quotes unless you want to interpolate the string i.e.
# include variables or escape sequences.
my $target = 'd:/testfile.txt';

# use a three argument open, use a lexical variable as a filehandle,
# check for result and die() giving an error on failure.
open( my $fh, '<', $target ) or die "Can't open '$target': $!";

# read the array from the filehandle you opened before
my @array = <$fh>;

# closing files is optional, but we're not messy programmers...
close( $fh );

foreach my $line (@array){
  # $line already has cr/lf; no need to add one more
  print $line;
}

__END__

HTH,
Thomas


--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to