gpt4 book ai didi

perl - 在 if 语句中使用 'local' 关键字

转载 作者:行者123 更新时间:2023-12-01 23:03:50 25 4
gpt4 key购买 nike

我想使用这个代码:

if ($windows) {
local $/ = "\r\n";
} else {
local $/ = "\n";
}

# ... code reading a file line by line

但它不起作用,因为 local 将范围限制在括号内。我该怎么办?

这是正确的方法吗?

if ($windows) {
$/ = "\r\n";
} else {
$/ = "\n";
}

# ... code reading a file line by line

我担心它可能会对其他程序产生一些副作用..

最佳答案

第一种方法是使用条件运算符:

{   local $/ = $windows ? "\r\n" : "\n";
...
}

你可以这样做的另一种方法是:

{ # enclosing scope
local $/ = "\n";
if ( $windows ) { $/ = "\r\n"; }
...
}

或者,您可以先local然后然后分配它:

{   local $/;
if ( $windows ) {
$/ = "\r\n";
}
else {
$/ = "\n";
}
...
}

关于perl - 在 if 语句中使用 'local' 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32207357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com