Program Repair Shop 52

delete_observer

        38  sub delete_observer {
        39      my ( $item, @observers_to_remove ) = @_;
        40      unless ( ref $O{ $item } eq 'ARRAY' ) {
        41          return 0;
        42      }
        43      my %ok_observers = map { $_ => 1 } @{ $O{ $item } };
        44      foreach my $observer_to_remove ( @observers_to_remove ) {
        47          my $removed = delete $ok_observers{ $observer_to_remove };
        52      }
        53      $O{ $item } = [ keys %ok_observers ];
        54      return scalar keys %ok_observers;
        55  }
        53      $O{ $item } = [ keys %ok_observers ];