in reply to Re^8: Undef values from file open
in thread Undef values from file open
Here's another step along the debugging path poj began here. We know that each line of the file is being read correctly; now, what happens when we process a line and assign its sub-strings to the $data hashref?
What do you get when you run this code? Note that my data file contains a blank line at the end for which no further processing is done, as expected, so this aspect of the program works.c:\@Work\Perl\monks\Anonymous Monk\1158543>perl -e "use strict; use warnings; use Data::Dump 'pp'; ;; my $file_name = 'file.csv'; open my $lines, '<', $file_name or die qq{opening file '$file_name': $!}; ;; while (my $line = <$lines>) { pp $line; next unless $line =~ /\S/; chomp $line; my $data; ($data->{date}, $data->{day}, $data->{name}) = split(/,/, $line); pp $data; print qq{------- \n} } " "01/04/2014,Friday,Joe\n" { date => "01/04/2014", day => "Friday", name => "Joe" } ------- "02/11/2011,Monday,Mary\n" { date => "02/11/2011", day => "Monday", name => "Mary" } ------- "05/09/2016,Monday,Ann\n" { date => "05/09/2016", day => "Monday", name => "Ann" } ------- "07/02/2013,MOnday,Marc\n" { date => "07/02/2013", day => "MOnday", name => "Marc" } ------- "\n"
BTW: I'd still be curious to know the exact version of Perl you're using. I don't really know what being "current" means.
Give a man a fish: <%-{-{-{-<
|
|---|