例如
$get = <>;
chomp($get);
$$get = "something";
如果用户输入$ get的名称 我想分配&#34;东西&#34;到$ name
答案 0 :(得分:6)
有办法做到这一点,但你真的不应该这样做。请改用哈希。
use strict;
use warnings;
my $get = <>;
chomp $get;
my %input;
$input{$get} = "something";
答案 1 :(得分:4)
A&#34;哈希&#34; (或&#34;字典&#34;在其他一些语言中)就像*一组键值对。这实现了您描述的内容,因为您可以为变量赋值而不具有该变量的固定标识符。
*:哈希不是数组。
见this tutorial on Perl101。本回答中的以下代码片段取自本网站。
您可以使用以下语法创建哈希:
my %stooges = (
'Moe', 'Howard',
'Larry', 'Fine',
'Curly', 'Howard',
'Iggy', 'Pop',
);
使用{}
访问和修改值。您也可以使用此语法添加新值。
print $stooges{'Iggy'}; #get existing
$stooges{'Iggy'} = 'Ignatowski'; #Overwrite
$stooges{'Shemp'} = 'Howard'; #Set new
您可以使用delete
功能删除键值对。
delete $stooges{'Curly'};
您可以使用相同的(关键)字词获取值或键列表:
my @stooge_first_names = keys %stooges;
my @stooge_last_names = values %stooges;