#! /usr/local/bin/perl -w use strict ; # ---------------------------------------------------------- my $a = "this\n"; sub this {$p'a = $a; print $p::a;} sub that {$p::a = "that\n"; print $p'a;} sub more {$p::a = "more\n"; print $a;} this(); # print "this" that(); # print "that" more(); # print "this" print $p'a; # print "more" print $p::a; # print "more" print $a; # print "this" # ---------------------------------------------------------- sub a'this {$p'u'a = "mooo\n"; print $p::u::a;} a::this(); # print "mooo" print $p'u'a; # print "mooo" # ---------------------------------------------------------- sub a::that {$p't'u = "wwoo\n"; return sub{print $p't'u}} $a'that = a'that(); $a'that->(); # print "wwoo" $a'that = a'that(); $p::t::u = "booo\n"; $a'that->(); # print "booo"