in reply to Re: Use of uninitialized value $data
in thread Use of uninitialized value $data

Thanks for the input! I just ran it again. Here is what $line (one example) looks like in my debug log (obscured for privacy):
"line: label1=N,label2=N,label3=N,label4=NNNNNNNNNNN,label5=N,label6=W +WWN"
So it looks as though $line is populating properly... hmmmm....

Replies are listed 'Best First'.
Re^3: Use of uninitialized value $data
by Corion (Patriarch) on Nov 13, 2018 at 22:00 UTC

    Then please show us the relevant code+data that produces the output.

    I can't reproduce the problem using the following, very short program:

    #!perl use strict; use warnings; my $line = "line: label1=N,label2=N,label3=N,label4=NNNNNNNNNNN,label5 +=N,label6=WWWN"; my @data = split(',', $line); foreach my $datapair (@data) { my ($label, $data) = split('=', $datapair); print "label: $label; data: $data\n"; #print OUT1 "$data;"; } __END__ label: line: label1; data: N label: label2; data: N label: label3; data: N label: label4; data: NNNNNNNNNNN label: label5; data: N label: label6; data: WWWN

    ... to me, that means, you are either doing something differently in your code that you haven't shown, or your data is something else.

Re^3: Use of uninitialized value $data
by Marshall (Canon) on Nov 14, 2018 at 01:12 UTC
    Perhaps use a hash?
    #!/usr/bin/perl use strict; use warnings; my $line ="line: label1=N,label2=N,label3=N,label4=NNNNNNNNNNN,label5= +N,label6=WWWN"; my %values = $line =~ /(\w+)=(\w+)/g; foreach my $label (sort keys %values) { print "$label $values{$label}\n"; } __END__ label1 N label2 N label3 N label4 NNNNNNNNNNN label5 N label6 WWWN