Chris J が言ったように、null 値は未定義の値として返されます。
警告を有効にしていた場合、値を印刷したときに「未定義の値が印刷されています」という警告が表示されます。strict
およびwarnings
プラグマタを使用すると、デバッグの時間を大幅に節約できます。diagnostics
プラグマは、標準の警告と致命的なエラーに追加の説明テキストを追加します。
データベースから取得した NULL 値をトラップして置き換えるのは非常に簡単です。
use strict;
use warnings;
my @nulls = ();
while ((my $null) = $sth1->fetchrow_array)
{
# before perl 5.10: use the ternary operator.
push @nulls, defined $null ? $null : 'NULL';
# perl 5.10 adds the defined-or operator: //
push @nulls, $null // 'NULL';
}
または、上記と同じ方法で配列を構築@nulls
し、表示時にヌルを変更することもできます。
my @pre_5_10 = map { defined $_ ? $_ : 'NULL' } @nulls;
my @perl_5_10 = map { $_ // 'NULL' } @nulls;