相关疑难解决方法(0)

如何在Perl中将变量用作变量名?

我需要在perl中实现以下功能

printmsg(@val1, $msg1) if @val1;
printmsg(@val2, $msg2) if @val2;
printmsg(@val3, $msg3) if @val3;
printmsg(@val4, $msg4) if @val4;
printmsg(@val5, $msg5) if @val5;
printmsg(@val6, $msg6) if @val6;
Run Code Online (Sandbox Code Playgroud)

所以我写了下面的代码片段

for(my $i=1; $i < 6; $i++ ) {
    printmsg(@val$i, $msg$i) if @val$i;
}
Run Code Online (Sandbox Code Playgroud)

它不起作用并且会出错.

perl symbolic-references

13
推荐指数
2
解决办法
5576
查看次数

在VBScript中将字符串转换为变量名称

如何在VBscript中将字符串转换为变量名?我发现JavaScript,C#,Pyton,Perl,Ruby,Java的类似Q/A ,但不适用于VBscript.

这就是为什么我不能直接使用变量而不是字符串:

我从Web服务获得了一个逗号分隔的权限名称列表.项目经理可以随时更新此列表,并期望我检查软件用户是否被授予这些权限.用户的权限在运行时通过复杂的方法以及配置文件数据,软件中的活动历史等设置.例如,如果用户购买了1000个产品,变量SuperCustomerPermission将在页面标题中为他设置SuperCustomerPermission="yes"(不作为cookie或会话也不存储在数据库中).

要检查权限列表,我想将权限名称列表传递给函数并循环显示名称:

我从Web服务获得的权限名称:

permissionNames = "adminPermission,deletePermission,configPermission,SuperCustomerPermission"
Run Code Online (Sandbox Code Playgroud)

我尝试将这些字符串作为变量传递给子例程:

Sub checkPermission(PermissionNames)
    permissionNamesArray = split(permissionNames,",",-1,1)
    For Each x In permissionNamesArray
        'How to convert x to its variable equivalent and check if it equals "yes"
    Next
End Sub

Call checkPermission(permissionNames)
Run Code Online (Sandbox Code Playgroud)

vbscript type-conversion asp-classic

2
推荐指数
1
解决办法
751
查看次数