#!/usr/bin/perl
use 5.006_001;
use warnings;
use strict;
use Data::Dumper;
use LinkDB 1.0.0;
use LinkDBMySQL 1.0.0;
use LinkDBAnyDBM 1.0.0;
LinkDB->debug(1);  # try various debug levels 0,1,2
# LinkDBMySQL->debug(1,5);  # uncomment for calling with too many parameters
my ($linkdb)= LinkDB->new();
# $linkdb->debug(1); # uncommment to see error for obj calling class method
my ($linkdb2) = $linkdb->new();
my ($linkdb3) = LinkDBAnyDBM->new();
my ($linkdb4) = LinkDBMySQL->new();
my ($linkdb5) = $linkdb3->new();
my ($linkdb6) = $linkdb->new();
$linkdb2="goodbye";
foreach my $obj  ($linkdb, $linkdb3, $linkdb4) {
  print "---------------------\nThe object is of class - " . $obj. "\n";
  print "Is obj a LinkDB =  " . $obj->isa("LinkDB") ."\n";
  print "Is obj a LinkDBMySQL =  " . $obj->isa("LinkDBMySQL") ."\n";
  print "Is obj a LinkDBAnyDBM =  " . $obj->isa("LinkDBAnyDBM") ."\n";
  print "It is version " . $obj->VERSION(0) . "\n";
  print "Does obj support db_type = " . $obj->can("db_type") ."\n";
  $obj->db_type() if ($obj->can("db_type"));
  print "Does obj support extra = " . $obj->can("extra") ."\n";
  $obj->extra() if ($obj->can("extra"));
  print "Here is the object dump\n" . Dumper($obj);
}

