Null di Perl

Dalam beberapa bahasa pemrograman ada nilai khusus null. Misalnya, dalam JavaScript anda dapat menetapkan nullvariabel:

var a = null;

Juga null adalah salah satu nilai yang mungkin dalam JSON:

{
  "a": null
}

Dan NULL adalah nilai dalam database:

mysql> select null;
+------+
| NULL |
+------+
| NULL |
+------+
1 row in set (0.00 sec)

Null berarti tidak adanya nilai.

Dalam bahasa pemrograman Perl tidak ada nilai yang disebut null. Anda dapat menulis kode mencoba untuk menetapkan nilai nullvariabel:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $a = null;

Tapi menjalankan kode ini akan menghasilkan kesalahan:

Bareword "null" not allowed while "strict subs" in use at script.pl line 6.
Execution of script.pl aborted due to compilation errors.

Dalam bahasa pemrograman Perl menggunakan nilai khusus undef yang berarti tidak ada nilai. Ini adalah sama seperti null, tapi hanya dengan nama yang berbeda.

Ada perbedaan antara bekerja sebagai JavaScript dan Perl. Dalam JavaScript, jika anda menentukan variabel tetapi tidak menetapkan nilai, nilainya akan undefined. Dan kemudian hal ini sudah dimungkinkan untuk menetapkan null. Perl bekerja lebih mudah. Di Perl tidak ada nilai-nilai yang berbeda undefined dan null, di Perl hanya ada satu nilai khusus undef.

null di JSON dan Perl

Ketika serialisasi Perl struktur data untuk JSON nilai-nilai undef akan dikonversi ke null nilai-nilai dalam JSON. Berikut adalah contoh kode:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use JSON::PP;

my $data = {
    a => undef,
};

print encode_json($data);

Kode ini akan menampilkan {"a":null}.

Sebaliknya, jika anda memperluas JSON menjadi Perl struktur, nilai-nilai null akan digantikan oleh undef:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use JSON::PP;
use Data::Dumper;

print Dumper decode_json('{"a":null}');

Program ini akan menampilkan:

$VAR1 = {
          'a' => undef
        };

Topik terkait

Artikel lainnya