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.


Reply via email to