我有一个如下所示的哈希:
my %parameters= (
RamSize => "1000"
PageSize => "200, 200"
SysClock => "1"
);
我需要访问此哈希的PageSize id,但我需要分别以200和200而不是" 200,200"来访问它。我无法改变这是如何输入的,那么以200的最简单的方式访问它?
答案 0 :(得分:3)
你写的东西不是有效的Perl。您的哈希可能看起来像这样
my %parameters = (
RamSize => "1000",
PageSize => "200, 200",
SysClock => "1",
);
元素$parameters{PageSize}
是一个简单的字符串,您必须显式处理它才能从中提取子字符串。
目前还不清楚在一般情况下您可能需要什么,但如果您只是希望字符串中出现的所有整数值,则全局正则表达式匹配将为您执行此操作。喜欢这个
my ($ps1, $ps2) = $parameters{PageSize} =~ /\d+/g;
say $ps1;
say $ps2;
200
200
答案 1 :(得分:1)
你发布的内容没有意义。我假设您确实拥有以下内容:
my %parameters = (
RamSize => "1000",
PageSize => "200, 200",
SysClock => "1",
);
如果是这样,您可以使用以下内容:
my ($x, $y) = split /\s*,\s*/, $parameters{PageSize};