Der Wert null in Perl

In einigen Programmiersprachen gibt es eine Besondere Bedeutung null. Zum Beispiel in JavaScript kann man entweder nullVariablen:

var a = null;

So null ist einer der möglichen Werte in JSON:

{
  "a": null
}

Und noch NULL ist der Wert in der Datenbank:

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

Null bedeutet, dass keine Werte.

In der Programmiersprache Perl gibt es keine Werte genannt null. Sie können Code schreiben der versucht, einen Wert zuzuweisen nullVariablen:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $a = null;

Aber die Ausführung dieses Codes einen Fehler:

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

In der Programmiersprache Perl verwendet einen speziellen Wert undef das bedeutet keine Werte. Es ist das gleiche wie null, aber nur mit einem anderen Namen.

Es gibt einen Unterschied zwischen wie funktioniert JavaScript und Perl. In JavaScript wenn Sie feststellen Variable, aber nicht auf einen Wert festgelegt ist, wird Ihr Wert wird undefined. Und weiter Sie können bereits zugewiesen null. Perl funktioniert einfacher. In Perl keine verschiedenen Werte undefined und null, in Perl gibt es nur eine Besondere Bedeutung undef.

null in JSON und Perl

Bei der Serialisierung Perl-Datenstruktur in JSON-Werte undef konvertiert werden null Werte in JSON. Hier ist der Beispielcode:

▶ Run
#!/usr/bin/perl

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

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

print encode_json($data);

Dieser Code zeigt {"a":null}.

Und Umgekehrt, wenn der Strukturbaum in Perl JSON-Struktur, werden die Werte null ersetzt werden undef:

▶ Run
#!/usr/bin/perl

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

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

Das Programm zeigt auf dem Bildschirm:

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

Verwandte Themen

Andere Artikel