our @array2;
my @array3;
my @array4 = ();
my @array5 = (undef);
my @array6 = ('one');
print("defined:\n");
print('array1: ', defined(@array1)?1:0, "\n"); # 0
print('array2: ', defined(@array2)?1:0, "\n"); # 0
print('array3: ', defined(@array3)?1:0, "\n"); # 0
print('array4: ', defined(@array4)?1:0, "\n"); # 0
print('array5: ', defined(@array5)?1:0, "\n"); # 1
print('array6: ', defined(@array6)?1:0, "\n"); # 1
print("\n");
print("explicit scalar:\n");
print('array1: ', scalar(@array1)?1:0, "\n"); # 0
print('array2: ', scalar(@array2)?1:0, "\n"); # 0
print('array3: ', scalar(@array3)?1:0, "\n"); # 0
print('array4: ', scalar(@array4)?1:0, "\n"); # 0
print('array5: ', scalar(@array5)?1:0, "\n"); # 1
print('array6: ', scalar(@array6)?1:0, "\n"); # 1
print("\n");
print("implicit scalar:\n");
print('array1: ', @array1?1:0, "\n"); # 0
print('array2: ', @array2?1:0, "\n"); # 0
print('array3: ', @array3?1:0, "\n"); # 0
print('array4: ', @array4?1:0, "\n"); # 0
print('array5: ', @array5?1:0, "\n"); # 1
print('array6: ', @array6?1:0, "\n"); # 1
print("\n");
I don't think defined should be used on an array.
|