in reply to Troubleshooting perl runtime errors
Using perl 5.10 I get the 'Use of uninitialized value in sprintf at <script> line <line>.' only if $DIcas_text string specifies more values then @HR actually contains. If a value in @HR is undefined or the format string is undefined I get a different error message.
#!/usr/bin/perl use strict; use warnings; my ($DIcas_text, @HR, $s); $DIcas_text = "%s %s %s %s"; @HR = qw(a b c); $s = sprintf($DIcas_text, @HR); $DIcas_text = "%s %s %s"; @HR = ('a', undef, 'c'); $s = sprintf($DIcas_text, @HR); $DIcas_text = undef; @HR = qw(a b c); $s = sprintf($DIcas_text, @HR);
output
Use of uninitialized value in sprintf at /tmp/u.pl line 10. Use of uninitialized value $HR[1] in sprintf at /tmp/u.pl line 14. Use of uninitialized value $DIcas_text in sprintf at /tmp/u.pl line 18 +.
If you get something similar with Perl 5.8 then this might help to figure out what exactly is wrong.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Troubleshooting perl runtime errors
by hippo (Archbishop) on Nov 16, 2016 at 16:10 UTC | |
by Monk::Thomas (Friar) on Nov 16, 2016 at 16:26 UTC |