Hi,
Aldebaran and
Marshall
Thank you so so much for your time and efforts; I am really sorry about the late reply.
The program file has 2200 lines of code. I will see if I can get a smaller sample setup that replicates the problem; maybe I can solve it then. If I can get this replicable thru small code, I will post that; if I cannot, then I will clean up the current code as much as I can and post a link to GitHub. I had used Perl only as a newbie; so this may take a little time (hopefully by early next week)
In the meantime, I had included the header of the program below:
- the Perl version is 5.10.1 and the archname = "x86_64-linux-thread-multi" (I put a print statement right after the assignment using Config)
- I did an ls on /proj/pdkfc8/tools/perl/lib/perl5/site_perl/5.10.1, and I don't see any folder that resembles archname.
#!/usr/bin/perl -- -w
=head1 NAME
cmvcq.pl
- Uses TK to create GUI windows to obtain metadata and files fro
+m the original
CMVC AMS family used by the Enablement team from 1998 to 2016+
=head1 DEPENDENCIES/CONDITIONS
1. Requires TK and DB/SQL skills for development.
=head1 FUNCTIONS
:
:
=head1 HISTORY
Original build 06/21/2016
Updates
- / /201 - -
=cut
#*****************************************************************
+******************************
# Set environment
#-----------------------------------------------------------------
+-------------------------------
use Config ; # gets the version and directory architecture - used
+ in BEGIN block
BEGIN
{
# location of afs installed modules
# NOTE: must place arch dependent location first to eliminate th
+e arch name include
# in the module name, e.g., x86_64-linux-thread-multi::Bundle::
+DBD::mysql
$basedir = '/proj/pdkfc8/tools/perl'
+ ;
$version = $Config{'version'}
+ ; # perl version
$archname = $Config{'archname'}
+ ; # os architecture
print("version=$version, archname=$archname\n\n");
push @INC, "$basedir/lib/perl5/site_perl/$version/$archname"
+ ; # at bottom of array
push @INC, "$basedir/lib/perl5/site_perl/$version"
+ ; # at bottom of array
push @INC, "$basedir/lib64/perl5/site_perl/$version/$archname
+"; # at bottom of arra
push @INC, "$basedir/lib64/perl5/site_perl/$version"
+ ; # at bottom of array
push @INC, "$basedir/lib64/perl5"
+ ; # at bottom of array
push @INC, "$basedir/share/perl5"
+ ; # at bottom of array
# use this when trying to install DBI and DBD::DB2 perl modules.
+ DBD::DB2 would not install in aix
push @INC, "$basedir/lib/site_perl/$version/$archname"
+ ; # at bottom of array for aix
}
# print "\n\nlarry $version, $archname";
# exit;
use DBI ; # database module
use File::Basename ; # basepath module
use Tk ; # TK gui module
use Tk::Text ; # TK text widget
use Tk::TableMatrix ; # used in $showSelection to show query resul
+ts
# There is a bug in the Tk TableMatrix widget using th Ctrl-mouse
+method to
# select a row of data - it always select one less cell than the n
+umber of
# rows in the table. Module creator gve me fix, so make sure you
+add it to
# the the appropriate module - add changes and re-install.
#
# Following is from John Cerney who wrote the module:
# It appears to be an issue with extended mode selection when the
+number of
# rows in the table is less than the number of columns. It looks l
+ike an error
# in finding the end of the row, using the max-row and not the max
+ column number
# in the code. This can be fixed by making a mod to the TableMatri
+x.pm file as
# follows (diff -c output).
#
# *** TableMatrix.pm.bak Mon Jun 27 15:20:37 2016
# --- TableMatrix.pm Mon Jun 27 15:20:43 2016
# ***************
# *** 769,775 ****
# else
# {
# ## We're in a row header
# ! $end = "$r,".$w->index('end','row');
# }
# }
# else
# --- 769,775 ----
# else
# {
# ## We're in a row header
# ! $end = "$r,".$w->index('end','col');
# }
# }
# else
use Tk::BrowseEntry ; # used in $MakeSelectWIndow for @Choices
use Tk::ProgressBar ; # not used
use Tk::DateEntry ; # TK Calendar
use Tk::TableMatrix::Spreadsheet ; # TK Calendar
use Data::Dumper ;
use List::Util qw(first); # for original attempt to determine if a
+rray had a value (abandoned use)