my $s = constructor();
my $dbs = $s->dbs;
my $r = $dbs->query($Q);
my $h = $r->hashes;
####
my $s = constructor();
my $r = $s->dbs->query($Q);
####
# $self is quoted on purpose, to pass along the stringified version,
# and avoid increasing reference count.
$st = bless {
db => "$self",
sth => $sth,
query => $query
}, 'DBIx::Simple::Statement';
$statements{$self}{$st} = $st;
####
> Also, is there a reason you didnt use Scalar::Util::Weaken instead of
> quoting an object like that?
I'm not entirely sure what the reason was in this specific case, but in
the general case I think it's safer to just have a string, than to have
something that when copied does increase the refcount, and could still
be destroyed when you didn't expect it yet. If all you need is something
to recognise the object when you see it, then keeping the entire object
around is just unnecessary bloat; bloat that could cause many hours of
debugging.