1..11 Testing to construct via 'start_stuff()' Can't use string ("MyClass") as a HASH ref while "strict refs" in use at MyClass.pm line 61 (#1) (F) Only hard references are allowed by "strict refs". Symbolic references are disallowed. See perlref. Uncaught exception from user code: Can't use string ("MyClass") as a HASH ref while "strict refs" in use at MyClass.pm line 61. MyClass::start_stuff('MyClass') called at testmyclass.pl line 10 #### #!/usr/bin/perl -w use strict; use Test; BEGIN { plan tests => 11 }; use MyClass; print "Testing to construct via 'start_stuff()'\n"; my $object_via_start = MyClass->start_stuff(); ok( ref( $object_via_start ), 'MyClass' ); ok( UNIVERSAL::isa( $object_via_start, 'MyClass' )); print "Testing to construct via 'init_stuff()'\n"; my $object_via_init = MyClass->init_stuff(); ok( ref( $object_via_init ), 'MyClass' ); ok( UNIVERSAL::isa( $object_via_init , 'MyClass' )); print "Testing to invoke 'start_stuff()' and 'use_stuff()' \n"; print "via object from 'init_stuff()'\n"; print "(Should not return a new object).\n"; my $start_stuff_after_init = $object_via_init->start_stuff(); my $start_stuff_after_use = $object_via_init->use_stuff(); ok( ref( $start_stuff_after_init ), 'MyClass' ); ok( UNIVERSAL::isa( $start_stuff_after_init , 'MyClass' )); ok( ref( $start_stuff_after_use ), 'MyClass' ); ok( UNIVERSAL::isa( $start_stuff_after_use , 'MyClass' )); ok( $object_via_init, $start_stuff_after_init ); ok( $object_via_init, $start_stuff_after_use ); ok( $start_stuff_after_init, $start_stuff_after_use );