Попробуйте отладить этот скрипт.Я думаю, что это может быть проблема переменной интерполяции?Я не уверен.Он работает с использованием опций, если я передаю значения следующим образом:
perl test-file-exists.pl --file /proj/Output/20111126/_GOOD
Я пытаюсь удалить опцию передачи --file
, поскольку мне нужно генерировать дату динамически.
perl test-file-exists.pl
Учитывая изменения кода ниже (я закомментировал часть опций).Я пытаюсь создать строку (см. $chkfil
).Я получаю сообщения об ошибках $dt4
.Так или иначе, это не передается в файловой строке, которую я создаю в этот другой модуль.
use strict;
use warnings;
use lib '/home/test/lib';
use ProxyCmd;
use Getopt::Long;
#
### Set up for Getopt
#
#my $chkfil;
#my $help;
#usage() if ( @ARGV < 1 or
# ! GetOptions('help|?' => \$help,
# 'file=s' => \$chkfil)
# or defined $help );
my $cmd = ProxyCmd->new( User=>"test_acct",
AuthToken=>"YToken",
loginServer=>"host.com");
# Get previous day
my $dt4 = qx {date --date='-1day' +'%Y%m%d'};
# Check file
my $chkfil = qq{/proj/Output/$dt4/_GOOD};
# Now test the fileExists function
print "Checking 'fileExists':\n";
my $feResults = $cmd->fileExists("$chkfil");
if ($feResults == 0) {
print "File Exists!\n";
} else {
print "File Does Not Exist\n";
}
sub usage
{
print "Unknown option: @_\n" if ( @_ );
print "usage: program [--file /proj/Output/20111126/_GOOD] [--help|-?]\n";
exit;
}