Undefined values

From Rosetta Code
Revision as of 02:17, 28 November 2009 by MikeMol (talk | contribs) (Seed with perl 5.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Task
Undefined values
You are encouraged to solve this task according to the task description, using any language you may know.

For languages which have an explicit notion of an undefined value, (as opposed to a NULL value), identify and exercise those language's mechanisms for identifying and manipulating a variable's status as being undefined. --Michael Mol 02:17, 28 November 2009 (UTC)

Perl

<lang perl>#!/usr/bin/perl -w use strict;

  1. Declare the variable

our $var;

  1. Check to see whether it is defined

print "var is undefined at first check\n" unless defined $var;

  1. Give it a value

$var = "Chocolate";

  1. Check to see whether it is defined after we gave it the
  2. value "Chocolate"

print "var is undefined at second check\n" unless defined $var;

  1. Give the variable an undefined value.

$var = undef;

  1. Check to see whether it is defined after we've explicitely
  2. given it an undefined value.

print "var is undefined at third check\n" unless defined $var;

  1. Give the variable a value of 42

$var = 42;

  1. Check to see whether the it is defined after we've given it
  2. the value 42.

print "var is undefined at fourth check\n" unless defined $var;

  1. Because most of the output is conditional, this serves as
  2. a clear indicator that the progrma has run to completion.

print "Done\n";</lang>

Results in:

var is undefined at first check
var is undefined at third check
Done