defined

defined undef

The defined function in Perl checks if the given value is anything but undef

examples/defined.pl

use strict;
use warnings;
use 5.010;

my $x;
my $y = 0;

sub func {
    return;
}

my $z = func();

say defined $x ? 'defined' : 'not defined';  # not defined
say defined $y ? 'defined' : 'not defined';  # defined
say defined $z ? 'defined' : 'not defined';  # not defined
say defined $z ? 'defined' : 'not defined';  # not defined

say defined &func  ? 'defined' : 'not defined';  # defined
say defined &other ? 'defined' : 'not defined';  # not defined


defined means it is NOT undef

not defined means it is undef

Being "false" or "true" have different meaning than being "defined" or "not defined".

documentation

Other pages

undef in Perl
undef - defined - true -false
true
false
The curious case of implicit return

Author

Gabor Szabo (szabgab) Gabor Szabo