#! /usr/bin/perl use warnings; use strict; package ABCconf; sub Query { my( $package ) = caller; print "Query called from $package\n"; my $x = ABCconf::Query->new(); } sub Insert { print "Insert called\n"; my $x = ABCconf::Query->new(); # <= problem: calls ABCconf::Query and then on its output ->new } # Insert package ABCconf::Query; sub new { my $class = shift; print "New called: $class\n"; return bless {}, $class; } # new package main; ABCconf::Query(); print "-" x 60, "\n"; ABCconf::Insert(); #### D:\>perl testBug.pl Query called from main New called: ABCconf::Query ------------------------------------------------------------ Insert called Query called from ABCconf New called: ABCconf::Query New called: ABCconf::Query=HASH(0x226290) Attempt to bless into a reference at testBug.pl line 24. #### #! /usr/bin/perl use warnings; use strict; package ABCconf; sub Insert { print "Insert called\n"; my $x = ABCconf::Query->new(); } # Insert sub Query { my( $package ) = caller; print "Query called from $package\n"; my $x = ABCconf::Query->new(); } package ABCconf::Query; sub new { my $class = shift; print "New called: $class\n"; return bless {}, $class; } # new package main; ABCconf::Query(); print "-" x 60, "\n"; ABCconf::Insert(); #### D:\>perl testBug.pl Query called from main New called: ABCconf::Query ------------------------------------------------------------ Insert called New called: ABCconf::Query #### D:\>perl -v This is perl, v5.8.8 built for MSWin32-x86-multi-thread (with 18 registered patches, see perl -V for more detail) Copyright 1987-2007, Larry Wall Binary build 822 [280952] provided by ActiveState http://www.ActiveState.com Built Jul 31 2007 19:34:48 ...