1..7 ok 1 - use Mysimple_mod; ok 2 - \#2 external is defined ok 3 - \#3 internal is defined not ok 4 - \#4 bogus subroutine # Failed test '\#4 bogus subroutine' # in test_Mysimple_mod.t at line 11. ok 5 - \#5 bogus subroutine ok 6 - \#6 bogus subroutine &Mysimple_mod::bogus ok 7 - \#7 bogus subroutine # Looks like you failed 1 test of 7. #### use strict; use warnings; use Test::More tests => 7; my $val = '&Mysimple_mod'; BEGIN { use_ok('Mysimple_mod', qw (external) ) }; ok ( defined( &external ) , "#2 external is defined"); ok ( defined( &Mysimple_mod::internal ) , "#3 internal is defined"); ok ( defined( &Mysimple_mod::bogus ) , "#4 bogus subroutine"); ok ( defined( "${val}".'::bogus' ) , "#5 bogus subroutine"); ok ( defined( ${val}.'::bogus' ) , "#6 bogus subroutine"); my $catval = "${val}" .'::bogus'; print "\n$catval\n"; ok ( defined( $catval ) , "#7 bogus subroutine"); #### #!/usr/bin/perl package Mysimple_mod; use strict; use warnings; require Exporter; our @ISA=qw(Exporter); our @EXPORT_OK = qw( external ); sub external { my $val = shift; my $return_val = internal($val); return $return_val; } sub internal { my $val = shift; my $calc = $val * 3; return $calc; } 1;