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.
In reply to Re: Troubleshooting perl runtime errors
by Monk::Thomas
in thread Troubleshooting perl runtime errors
by lvirden
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |