perl-Devel-EnforceEncapsulation-0.51-13.fc29.noarch.rpm


Advertisement

Description

perl-Devel-EnforceEncapsulation - Find access violations to blessed objects

Property Value
Distribution Fedora 29
Repository Fedora i386
Package name perl-Devel-EnforceEncapsulation
Package version 0.51
Package release 13.fc29
Package architecture noarch
Package type rpm
Installed size 11.75 KB
Download size 16.96 KB
Official Mirror download-ib01.fedoraproject.org
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).

Alternatives

Package Version Architecture Repository
perl-Devel-EnforceEncapsulation-0.51-13.fc29.noarch.rpm 0.51 noarch Fedora
perl-Devel-EnforceEncapsulation - - -

Requires

Name Value
perl(:MODULE_COMPAT_5.28.0) -
perl(Carp) -
perl(English) -
perl(overload) -
perl(strict) -
perl(warnings) -

Provides

Name Value
perl(Devel::EnforceEncapsulation) = 0.51
perl-Devel-EnforceEncapsulation = 0.51-13.fc29

Download

Type URL
Binary Package perl-Devel-EnforceEncapsulation-0.51-13.fc29.noarch.rpm
Source Package perl-Devel-EnforceEncapsulation-0.51-13.fc29.src.rpm

Install Howto

Install perl-Devel-EnforceEncapsulation rpm package:

# dnf install perl-Devel-EnforceEncapsulation

Files

Path
/usr/share/doc/perl-Devel-EnforceEncapsulation/CHANGES
/usr/share/doc/perl-Devel-EnforceEncapsulation/LICENSE
/usr/share/doc/perl-Devel-EnforceEncapsulation/README
/usr/share/man/man3/Devel::EnforceEncapsulation.3pm.gz
/usr/share/perl5/vendor_perl/Devel/EnforceEncapsulation.pm

Changelog

2018-07-13 - Fedora Release Engineering <releng@fedoraproject.org> - 0.51-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
2018-06-28 - Jitka Plesnikova <jplesnik@redhat.com> - 0.51-12
- Perl 5.28 rebuild
2018-02-08 - Fedora Release Engineering <releng@fedoraproject.org> - 0.51-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
2017-07-27 - Fedora Release Engineering <releng@fedoraproject.org> - 0.51-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
2017-06-04 - Jitka Plesnikova <jplesnik@redhat.com> - 0.51-9
- Perl 5.26 rebuild
2017-02-11 - Fedora Release Engineering <releng@fedoraproject.org> - 0.51-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

See Also

Package Description
perl-Devel-FastProf-0.08-29.fc29.i686.rpm Fast perl per-line profiler
perl-Devel-FindPerl-0.014-9.fc29.noarch.rpm Find the path to the current Perl interpreter
perl-Devel-Gladiator-0.07-8.fc29.i686.rpm Walk Perl's arena
perl-Devel-GlobalDestruction-0.14-7.fc29.noarch.rpm Expose PL_dirty, the flag that marks global destruction
perl-Devel-GlobalDestruction-XS-0.03-8.fc29.i686.rpm Faster implementation of the Devel::GlobalDestruction API
perl-Devel-GlobalPhase-0.003003-4.fc29.noarch.rpm Detect perl's global phase on older perls
perl-Devel-GoFaster-0.001-7.fc29.i686.rpm Optimise executable Perl ops
perl-Devel-Hexdump-0.02-15.fc29.i686.rpm Print nice hex dump of binary data
perl-Devel-Hide-0.0010-3.fc29.noarch.rpm Forces the unavailability of specified Perl modules (for testing)
perl-Devel-Leak-0.03-38.fc29.i686.rpm Utility for looking for perl objects that are not reclaimed
perl-Devel-LeakGuard-Object-0.08-9.fc29.noarch.rpm Scoped checks for object leaks
perl-Devel-LexAlias-0.05-18.fc29.i686.rpm Alias lexical variables
perl-Devel-NYTProf-6.06-3.fc29.i686.rpm Powerful feature-rich perl source code profiler
perl-Devel-OverloadInfo-0.005-4.fc29.noarch.rpm Introspect overloaded operators
perl-Devel-OverrideGlobalRequire-0.001-7.fc29.noarch.rpm Override CORE::GLOBAL::require safely
Advertisement
Advertisement