I would like to initialize a new field in my CSV to receive extracted data when I parse an existing field. If there was always a result from the parse then I wouldn't have an "Use of uninitialized value in substitution" message later on.
How do I set a dereferenced array to ""?
Am I asking the right Question?
Right now the following doesn't work.
#Initialize to first character of first field, no warnings #Creates extra unneeded data. ($row->[15]) = $row->[0] =~ /(.)/; #This appears to match undefined and sets it to "", warnings #^ * matches null string many times in regex; marked by <--HERE in m/ +(^ * <-- HERE $) / at convertACsv.pl line 86. #Use of uninitialized value in substitution (s///) at convertACsv.pl l +ine 86, <_GEN_0> line 1. $row->[15] =~ s/ (^ *$) //gx; #This appears to match undefined and sets it to "", warnings #Use of uninitialized value in substitution (s///) at convertACsv.pl l +ine 86, <_GEN_0> line 1. $row->[15] =~ s/ (^z) //gx; #oops, dropped the "\" $row->[15] =~ s/ (^\z) //gx; #Why doesn't one of these work? ($row->[15]) = ""; ($row->[15]) = ("");
In reply to Initialize or Match undef without warning by JobC
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |