#!/usr/bin/perl use sand_kidA qw(get_a); use sand_kidB qw(get_b); print get_a(); print get_b(); #### #!/usr/bin/perl use strict; use warnings; package sand_kidA; BEGIN { our @ISA = qw( Exporter ); our @EXPORT_OK = qw(set_a get_a print_b); # symbols to export on request require Exporter; } use sand_kidB qw(get_b); my $a = 5; sub print_b { print get_b(); } sub set_a { my $val = shift; $a = $val; } sub get_a { return $a; } 1; #### #!/usr/bin/perl use strict; use warnings; package sand_kidB; BEGIN { our @ISA = qw( Exporter ); our @EXPORT_OK = qw(set_b get_b print_a); # symbols to export on request require Exporter; } use sand_kidA qw(get_a); my $b = 6; sub print_a { print get_a(); } sub set_b { my $val = shift; $b = $val; } sub get_b { return $b; } 1;