Null i Perl

I nogle programmeringssprog er der en særlig værdi, null. For eksempel, i JavaScript kan du tildele nullvariable:

var a = null;

Også null er en af de mulige værdier i JSON:

{
  "a": null
}

Og NULL er en værdi i databasen:

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

Null betyder fravær af værdi.

I programmeringssproget Perl er der ingen værdi, der kaldes null. Du kan skrive kode du forsøger at tildele en værdi nullvariable:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $a = null;

Men at køre denne kode vil generere en fejl:

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

I programmeringssproget Perl bruger en særlig værdi undef , som betyder, at der er ingen værdi. Dette er det samme som null, men kun med et andet navn.

Der er en forskel mellem at arbejde som JavaScript og Perl. I JavaScript, hvis du definere den variabel, men ikke tildele den en værdi, og dens værdi vil være undefined. Og så det er allerede muligt at tilmelde null. Perl arbejde lettere. I Perl, der er ikke anderledes-værdier undefined og null, i Perl, der er kun en særlig værdi undef.

null i JSON og Perl

Når fortløbende Perl-datastrukturer til JSON værdier undef vil blive konverteret til null værdier i JSON. Her er et eksempel kode:

▶ Run
#!/usr/bin/perl

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

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

print encode_json($data);

Denne kode vil vise {"a":null}.

Omvendt, hvis du udvide JSON i et Perl-struktur, værdier null vil blive erstattet af undef:

▶ Run
#!/usr/bin/perl

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

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

Programmet vil vise:

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

Relaterede emner

Andre artikler