如何更改常量';perl中的s值

如何更改常量';perl中的s值,perl,Perl,出于特定原因,我想将TEST的值更改为200。是否可以更改它?您可以使用相同的语法:*TEST=\200 顺便说一句,您可能需要查看。您可以使用相同的语法:*TEST=\200 顺便说一句,您可能需要查看。尝试添加以下语句: our $TEST; *TEST = \100; $TEST =200 尝试添加以下语句: our $TEST; *TEST = \100; $TEST =200 如果您确实使用constansts,然后使用常量值,那么在使用它之前,请记住Perl通常会优化常量代码,也

出于特定原因,我想将
TEST
的值更改为
200
。是否可以更改它?

您可以使用相同的语法:
*TEST=\200


顺便说一句,您可能需要查看。

您可以使用相同的语法:
*TEST=\200


顺便说一句,您可能需要查看。

尝试添加以下语句:

our $TEST;
*TEST = \100;
$TEST =200

尝试添加以下语句:

our $TEST;
*TEST = \100;
$TEST =200

如果您确实使用constansts,然后使用常量值,那么在使用它之前,请记住Perl通常会优化常量代码,也就是说,在生成中间字节码的过程中,可能会跳过表示If(调试)的If条件或硬编码值(例如PI)

如果您确实使用constansts,然后使用常量值,那么在使用它之前,请记住Perl通常会优化常量代码,也就是说,在生成中间字节码的过程中,可能会跳过表示If(调试)的If条件,或者硬编码值(例如PI)

这不是在perl中编写常量的方法。正确的方法是

local $TEST = 200;
现在,如果这是在一个模块中声明的,并且您想从一个测试中更改该值,您可以将

use constant TEST => 100;
在顶部,然后你可以用另一个声明来跟进

use unconstant;


我是《非常量》(unconstant)一书的作者,这不是在perl中编写常量的方法。正确的方法是

local $TEST = 200;
现在,如果这是在一个模块中声明的,并且您想从一个测试中更改该值,您可以将

use constant TEST => 100;
在顶部,然后你可以用另一个声明来跟进

use unconstant;


我是《非常量》

的作者,为什么要更改常量?需要在某些情况下重写point@Andy=>TEST=\100语法为常量值创建一个别名,如果您试图写入该别名,它将导致perl崩溃。当然,它不会像常量子程序那样内联。我在这里也感到困惑。这不是一个常数。我不知道你想在这里做什么。为什么要更改常量?需要在某些情况下重写吗point@Andy=>TEST=\100语法为常量值创建一个别名,如果您试图写入该别名,它将导致perl崩溃。当然,它不会像常量子程序那样内联。我在这里也感到困惑。这不是一个常数。我不知道你想在这里做什么。
本地的+1
。不过,我可以编写
local*TEST=\200
,以保持
local
的“常量”性质+1。不过,我可以编写
local*TEST=\200
,以保持“常量”的性质