#!/usr/bin/perl
use warnings;
use FindBin;
$distrib_dir = $FindBin::Bin;
print "$distrib_dir";
sub RemoveWhiteSpaces;
my ( ${birt_dir}, ${distrib_dir}, ${hostname} );
$birt_dir = "/usr/local/web/acc/WAS/install/61x/lib/app/birt";
$tar_dir="${distrib_dir}/../jclass/cfi_mss_srvcs/was6x-config";
print "$tar_dir";
$hostname=`uname -n`;
$hostname = RemoveWhiteSpaces( ${hostname} );
if (! -d ${birt_dir} ) {
die "The target directory /usr/local/web/acc/WAS/install/61x/lib/a
+pp/birt does not exist, please create the directory as webspher and t
+ry again";
}
if ( (${hostname} eq "agaisg66") || (${hostname} eq "svag0035") || ($
+{hostname} eq "svag1103") ) {
chdir "${birt_dir}";
print `pwd`;
`cp -R "${distrib_dir}"/../jclass/cfi_mss_srvcs/BIRT/* .`;
`tar xvf ${distrib_dir}/../jclass/cfi_mss_srvcs/was6x-config/lib-a
+pp-CFI_Reporting.tar`;
} else {
print "You are trying to deploy the code in the wrong box";
}
In the above code which is actually given in the node, you are assigning a value to
$distrib_dir = $FindBin::Bin; then you are declaring the saame variable as follows
my ( ${birt_dir}, ${distrib_dir}, ${hostname} ); which will make the $distrib_dir as empty. Because I could see the you are using $distrib_dir in getting the value of $tar_dir.