У меня есть сценарий order.pl, он имеет 3 переменные
$dbcount=$ARGV[0];
if($dbcount == ""){$dbcount = 196001;}
$Num_Batches =$ARGV[1];
if($Num_Batches == ""){$Num_Batches=1;}
print "batches:$Num_Batches\t";
$TimeStamp = $ARGV[2];
if($TimeStamp == ""){$TimeStamp = "";}
$DBFetch = 'java GetWOConfHold_Auto '. $dbcount." ".$TimeStamp ;
print "DBFetch:$DBFetch\n";
print "timestamp :$TimeStamp";
system($DBFetch);
Здесь java-файл - GetWOConfHold_Auto.java, и я хочу отправить как dbcount, так и пустую строку в java-файл GetWoConfHol_Auto в качестве аргументов командной строки, но
во время работы показывает
perl order.pl 196000 1
batches:1 timestamp: dbcount:196000 DBFetch:java GetWOConfHold_Auto 196000
timestamp :args[0] 19600
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at GetWOConfHold_Auto.main(GetWOConfHold_Auto.java:18)
no of picking updates data : 0
No data.exiting
Я пытался напечатать отметку времени, но она показывает
timestamp :args[0] 19600 not the empty String
и в java он останавливается на сигнатуре основного метода
Я хочу отправить пустую строку в файл Java в качестве аргумента командной строки. и я проверяю, является ли отметка времени нулевой, просто иди и выбери значение из файла свойств