#!/usr/bin/perl ## this is perl5.16
my $DEBUG = 1233;
my $VERBOSE=5;
use strict;
use warnings;
use Getopt::Long;
my $Usage = "this is Usage";
Getopt::Long::GetOptions( 'd=i' => \$DEBUG,
'v=i' => \$VERBOSE ) or die "Incorrect usage! $Usage\n";
print "in MAIN DEBUG is $DEBUG \n";
print "In Main VERBOSE is $VERBOSE \n";
use lib "../lib";
use myApp;
myApp::testprint();
myApp::testprint2();
####
package myApp;
my $DEBUG = $main::DEBUG;
my $VERBOSE = $main::VERBOSE;
print " myApp.pm has DEBUG [$DEBUG]\n";
print " myApp.pm has VERBOSE [$VERBOSE]\n";
1;
sub testprint {
print "in myApp::testprint DEBUG is [$DEBUG]\n";
print "in myApp::testprint VERBOSE is [$VERBOSE]\n";
}
sub testprint2 {
my $DEBUG = $main::DEBUG;
my $VERBOSE = $main::VERBOSE;
print "in myApp::testprint2 DEBUG is [$DEBUG]\n";
print "in myApp::testprint2 VERBOSE is [$VERBOSE]\n";
}
####
./xVERBOSE
myApp.pm has DEBUG []
myApp.pm has VERBOSE []
in MAIN DEBUG is 1233
In Main VERBOSE is 5
in myApp::testprint DEBUG is []
in myApp::testprint VERBOSE is []
in myApp::testprint2 DEBUG is []
in myApp::testprint2 VERBOSE is []