作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试记录 Perl 脚本以准备将其转换为 .NET。我之前没有使用 Perl 的经验,但是我设法通过大量的 Google-fu 来完成它。我遇到了一行代码,它阻止了我,因为我不确定它的作用。我已经能够弄清楚大部分,但我遗漏了一部分,我不知道它是否真的那么重要。这是代码行:
eval { if(defined $timeEnd && defined $timeStart){}; 1 } or next;
defined
正在检查变量
$timeEnd
和
$timeStart
看看他们是不是
null
/
nothing
/
undef
.我也相信
eval
块被用作 Try/Catch 块来捕获任何异常。这行代码在
foreach
中循环所以我相信
next
关键字将在
foreach
的下一次迭代中继续环形。
{};1
少量。我的理解是
;
是 Perl 中的语句分隔符,因为它没有用反斜杠转义,所以我不知道它在那里做什么。我也不知道是什么
{}
方法。我认为它与数组有关,但它是一个空数组,我不知道当它紧跟在
if()
之后时是否意味着什么特别的东西。堵塞。最后,我不知道
1
的单个整数是多少在
eval
的末尾意味着并且正在那里做堵塞。
For each element in xmlList 'This isn't in the Perl code I posted, but it's the `foreach` loop that the code resides in.
Try
If Not IsNothing(timeEnd) AND Not IsNothing(timeStart) then
End If
Catch ex as Exception
Continue For
End Try
Next
最佳答案
忽略 elsif
和 else
子句中,if 语句的语法如下:
if (EXPR) BLOCK
{}
在您的代码中是
if
的块陈述。
while (s/\s//) { }
s/\s//g;
if(defined $timeEnd && defined $timeStart){}
eval { if(defined $timeEnd && defined $timeStart){}; 1 } or next;
eval { 1 } or next;
1 or next;
# Nothing to see here...
$ perl -MTie::Scalar -e'
our @ISA = "Tie::StdScalar";
tie(my $x, __PACKAGE__);
sub FETCH { die }
defined($x)
'
Died at -e line 4.
$@
. 关于perl - eval{} 语句中 If() 语句后空 {} 的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36615247/
我是一名优秀的程序员,十分优秀!