我的退出条件有什么问题
我有一个脚本parsing一个XLSX文件,并将其转换为其他格式。
在XLSX文件是红色的部分,我有一个退出条件:
do { ... ... ... } until (uc(trim($worksheet -> get_cell($indexRow, 0) -> value())) eq "");
不幸的是,当我执行脚本时,我收到这个错误:
无法在myfilename.pl第94行的未定义值上调用方法“值”
任何人都可以给我一个提示或解释什么我做错了,请吗?
顺便说一句,我是一个Perl编程的初学者。
expression方式
$worksheet -> get_cell($indexRow, 0)
没有定义。 所以,没有属性可以被提取。
我的build议是以这种方式重新编码(但是每个人都有自己的build议)(考虑第二种情况下的空间!):
while (1) # 1 is true { ... ... ... # suppose $indexrow has been calculated in the loop. if ( ! $worksheet -> get_cell($indexRow, 0) ) { # do something (cell is not defined) # Cell is empty? (??????? 7 ?) } elsif ( ! trim( $worksheet->get_cell($indexRow,0)->value() ) ) { last; #escape this loop } }
空string是假的,所以!
相当于“string正在持有文本”。
希望能帮助到你。