for completeness and future memory.. as this is a non-problem better would be to not-resolve it. instead rethink it and achieve in another way: a sub returnig a composed string.
#!perl
use strict;
use warnings;
$|++;
my $first;
my @sec;
print &compose, "\n";
$first = 'UNO';
print &compose,"\n";
push @sec, '1','2';
print &compose,"\n";
$sec[5] = 'sixt';
print &compose,"\n";
undef $first ; @sec = ();
print &compose,"\n";
sub compose {
my $it = 'First is '.
($first ? $first : 'not yet defined ').
' and the list is '.
(@sec ? '('.(join ' ',map {$_||'UNDEFINED'}@sec ).')': ' e
+mpty');
return $it;
}
__OUTPUT__
First is not yet defined and the list is empty
First is UNO and the list is empty
First is UNO and the list is (1 2)
First is UNO and the list is (1 2 UNDEFINED UNDEFINED UNDEFINED sixt)
First is not yet defined and the list is empty
L*
there are no rules, there are no thumbs..