【发布时间】:2019-01-17 00:30:41
【问题描述】:
我有一个脚本 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 和空字符串作为命令行参数发送到 GetWoConfHol_Auto java 文件,但是
运行时显示
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 文件。我检查时间戳是否为空,然后从属性文件中选择值
【问题讨论】:
-
== ""错误,==比较数字,在 Perl 中使用eq比较字符串。