#!/usr/bin/perl use warnings; use strict; sub new_counter { my ($start) = @_; my %internal = ( count => $start ); my %external; $external{add} = sub { my ($value) = @_; $internal{count} += $value; }; $external{get} = sub { return $internal{count}; }; return \%external; } my $ctr = new_counter(7); print "Start: " . $ctr->{get}() . "\n"; $ctr->{add}(3); print "End: " . $ctr->{get}() . "\n";
In reply to OOP By Any Other Name by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |