Your version produces this output in Perl 5.30.0:
this
that
Use of uninitialized value $element in concatenation (.) or string at
trash.pl line 14.
Use of uninitialized value $element in concatenation (.) or string at
trash.pl line 14.
Use of uninitialized value $element in concatenation (.) or string at
trash.pl line 14.
bad idea
Which is what I would expect.
Another version:
use strict;
use warnings;
my @words = ("this","that");
$words[5] = "bad idea";
for my $element (@words){
if (defined $element) {
print "$element\n";
}
else {
print "undefined\n";
}
}
print "\a";
__END__
Output:
this
that
undefined
undefined
undefined
bad idea
Mike
On 9/24/22 20:00, William Torrez Corea wrote:
What happen with my code?
use strict;
use warnings;
use diagnostics;
my @words = ("this","that");
# With this code
$words[5] = "bad idea";
for my $element (@words){
print "$element\n";
}
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"words.pl" 13L, 167B 1,1 All
Use of uninitialized value $element in concatenation (.) or string at
words.pl line 11.
at words.pl line 11.