summaryrefslogtreecommitdiff
path: root/bless-demo
diff options
context:
space:
mode:
Diffstat (limited to 'bless-demo')
-rw-r--r--bless-demo37
1 files changed, 37 insertions, 0 deletions
diff --git a/bless-demo b/bless-demo
new file mode 100644
index 0000000..55f8734
--- /dev/null
+++ b/bless-demo
@@ -0,0 +1,37 @@
+#!/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();