#!/usr/bin/perl -w use strict; hush( "little baby" ); sub hush { my $papa = bless {}, 'Daddy'; print "Hush ",shift,",\n"; print "Don't say a word.\n"; if ( $papa->buy_you( "mockingbird" )->("doesn't sing") ) { if ( $papa->buy_you( "diamond ring" )->("turns brass") ) { if ( $papa->buy_you( "looking glass" )->("gets broke") ) { if ( $papa->buy_you( "billy goat" )->("won't pull") ) { if ( $papa->buy_you( "cart and bull" )->("falls down") ) { print "You'll still be the prettiest baby in town.\n"; } } } } } } package Daddy; sub buy_you { my $gift = $_[1]; print "Papa's gonna buy you a $gift.\n\n"; return sub { print "And if that $gift ", shift, ",\n" } }