I am working on a Perl script that is getting quite lengthy so I thought I
would put the sub routines, hashes, and arrays in a seperate script from
the main.

The program will run when I turn use strict off in the main script, but
when I turn it on the main script doesn't recognize the hash and
array delaration in the second script.

main script first few lines:

#!/usr/bin/perl
use warnings;
use strict;
use POSIX;
use FileHandle;
require "rt_evdo_pcmd_lib.pl";
#Market configurations has for cells
my %marketInfo = (
   "xxx" => { "start" => 300,
              "end"   => 599, },
   "yyy" => { "start" => 900,
              "end"   => 971, },
   "zzz" => { "start" => 871,
              "end"   => 899, },
   "aaa" => { "start" => 1,
              "end"   => 299, },
   "hhh" => { "start" => 800,
              "end"   => 850, },
);
Script B with sub routines, hash and array declarations:

#!/usr/bin/perl
use warnings;
use strict;
my %fieldMap = (
   "Version" => 0,
   "SRT" => 11,
   "SRFC" => 12,
   "CFC" => 21,
   "CFCQ" => 22,
   "ICell" => 29,
   "ISector" => 30,
   "Cell" => 31,
   "Sector" => 32,
);
my %fieldIndex = reverse(%fieldMap);
my @pegs  =
("SesAtt","SesEst","FailXfer","Ses%","ConnAtt","ConnEst","Conn%","RfLost","CpDropCell","CpDropRnc","TuneAway",

"TDrops","DCR%","IA","IA%","Tccf","FailAp","FailTp","FailA10","FailAAA","FailPdsn");

The compilation errors i am getting are:
Global symbol "%fieldMap" requires explicit package name at ./
rt_evdo_pcmd.pl line 98.
Global symbol "%fieldMap" requires explicit package name at ./
rt_evdo_pcmd.pl line 99.
Global symbol "%fieldMap" requires explicit package name at ./
rt_evdo_pcmd.pl line 100.
(I am just showing the first 3 since they are all related to the hash
%fieldMap and array @pegs)

Reply via email to