☞ | ![]() ![]() |
38 |
18 sub add_observer { 19 my ( $item, @observers ) = @_; 20 $O{ $item } ||= []; 21 foreach my $observer ( @observers ) { 22 $item->observer_log( "Adding observer '$observer' to ", 23 "'", _describe_item( $item ), "'" ); 24 my $num_items = scalar @{ $O{ $item } }; 25 $O{ $item }->[ $num_items ] = $observer; 26 if ( ref( $observer ) ) { 27 weaken( $O{ $item }->[ $num_items ] ); 28 } 29 } 30 return scalar @{ $O{ $item } }; 31 }
What happens to this?
sub add_observer { my ($self) = shift; my $o = $self->direct_observers; @$o = _uniq(@$o, @_); }
9 lines become 4
Here and elsewhere, I deleted the calls to observer_log
I don't know what they are supposed to be for
When I count lines in the original code, I do not count these calls
☞ | ![]() |
☞ |