#!/usr/local/bin/perl -w
###########################################
# promise-cat - Schroedinger's cat example
# Mike Schilli, 2010 (m@perlmeister.com)
###########################################
use strict;
use Promises qw( deferred );

my $schroedingers_cat = deferred();

$schroedingers_cat->promise->then(
  sub { print "The cat is alive.\n" },
  sub { print "The cat is dead.\n" },
);

$schroedingers_cat->resolve();
  #  "The cat is alive."

  # or: $schroedingers_cat->reject();
  #   "The cat is dead."
