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


in reply to Re^6: Parsing Data logger files ...
in thread Parsing Data logger files ...

G'day RedTussock,

Welcome to the monastery.

I'm reasonably certain that your problem is in map qq/"$_"/, @fields[ 0 .. 5 ] and is probably caused by @fields not containing 6 elements. Here's some troubleshooting hints.

Check the files you're reading (i.e. ls -l /home/Smitty/scripts/perl/dl_parser/down/*). Are all of these the files you want? Perhaps use *.txt (or similar) to limit the files you're processing.

Do all of the files have the format you're expecting? You may be able to check this by inspection. If not, add some debugging code around while (<>) { like this:

my $last_file = ''; while (<>) { print "$ARGV\n" if $ARGV ne $last_file; $last_file = $ARGV;

[perlop - I/O Operators explains <> and $ARGV]

You should see something like:

some_file_name another_file_name Use of uninitialized value in ... different_file_name Use of uninitialized value in ...

You'll now know which files are causing the problems and you can focus your investigation accordingly.

-- Ken

Replies are listed 'Best First'.
Re^8: Parsing Data logger files ...
by RedTussock (Acolyte) on Oct 07, 2012 at 06:59 UTC
    Yup that was the issue alright ... Hey thanks guys. I feel like I have used you as code writers, but it helped out heaps, and got a small unpaid job done out of my hair. See another "thing" I am trying to do here at home with a 1 wire weather station. I would love to be able to read the sensors direct using perl and upload a data file ... will post in another question though. BUT a big thanks for you help.