From perldoc -f bless:
bless REF,CLASSNAME
This function tells the thingy referenced by
REF
that it is now
an object in theCLASSNAME
package.
Is there any way of obtaining an unblessed structure without unnecessary copying?
unbless($ref)
Remove the blessing from any objects found within the passed data structure.
#!/usr/bin/perl
use strict; use warnings;
use Scalar::Util qw( refaddr );
use Data::Structure::Util qw( unbless );
my $x = bless { a => 1, b => 2 } => 'My';
printf "%s : %s\n", ref $x, refaddr $x;
unbless $x;
printf "%s : %s\n", ref $x, refaddr $x;
Output:
My : 237356 HASH : 237356