Wed, 11 Nov 2026 11:46:13 UTC Log in
Find access violations to blessed objects 27.43 KB built 2026-10-16 18:45:44 GMT

Description

Encapsulation is the practice of creating subroutines to access the properties of a class instead of accessing those properties directly. The advantage of good encapsulation is that the author is permitted to change the internal implementation of a class without breaking its usage. Object-oriented programming in Perl is most commonly implemented via blessed hashes. This practice makes it easy for users of a class to violate encapsulation by simply accessing the hash values directly. Although less common, the same applies to classes implemented via blessed arrays, scalars, filehandles, etc. This module is a hack to block those direct accesses. If you try to access a hash value of an object from its own class, or a superclass or subclass, all goes well. If you try to access a hash value from any other package, an exception is thrown. The same applies to the scalar value of a blessed scalar, entry in a blessed array, etc. To be clear: this class is NOT intended for strict enforcement of encapsulation. If you want bullet-proof encapsulation, use inside-out objects or the like. Instead, this module is intended to be a development or debugging aid in catching places where direct access is used against classes implemented as blessed hashes. To repeat: the encapsulation enforced here is a hack and is easily circumvented. Please use this module for good (finding bugs), not evil (making life harder for downstream developers).

Dependencies

19 total
Requires18
  • coreutils
  • findutils
  • make
  • perl(Carp)
  • perl(English)
  • perl(ExtUtils::MakeMaker)
  • perl(Pod::Coverage) >= 0.17
  • perl(Test::More)
  • perl(Test::Pod) >= 1.14
  • perl(Test::Pod::Coverage) >= 1.04
  • perl(base)
  • perl(overload)
  • perl(strict)
  • perl(warnings)
  • perl-generators
  • perl-interpreter
  • rpmlib(CompressedFileNames) <= 3.0.4-1
  • rpmlib(FileDigests) <= 4.6.0-1
Provides1
  • perl-Devel-EnforceEncapsulation = 0.51-35.fc45
ObsoletesNo Obsoletes
ConflictsNo Conflicts
RecommendsNo Recommends
SuggestsNo Suggests
SupplementsNo Supplements
EnhancesNo Enhances

Files

2
Files 1–2 of 2

Component of

buildroots that installed this RPM

No Buildroots