#!/usr/bin/env perl # Class for the object package Sanctum::Bless::Class; use strict; use warnings; use utf8; use 5.010; our $VERSION = 0.1; use Data::Printer; ## no critic (ProhibitDebuggingModules) sub spit { my ($self) = @_; p $self; return; } 1; # Demonstration of bless() package Sanctum::Bless::Demo; ## no critic (ProhibitMultiplePackages) use strict; use warnings; use utf8; use 5.010; our $VERSION = 0.1; ## no critic (ProhibitReusedNames) # Create a new hash reference my $hash = { ayy => 'lmao', }; # Bless the hash reference into the Sanctum::Bless::Class. It thereby becomes # an *instance* of "Sanctum::Bless:Class", which means it gains the "spit" # method defined for it. bless $hash, 'Sanctum::Bless::Class'; bless $hash, 'Sanctum::Bless::Wizard'; # Run the spit() method that's now available on the hashref. $hash->spit();