【问题标题】:Setting name of array in Perl [duplicate]在Perl中设置数组的名称[重复]
【发布时间】:2015-03-30 13:10:38
【问题描述】:

我想在 Perl 中创建一个数组,其中包含两个变量的值,两个变量之一的值将从文件中读取。

在简化的情况下,当PCC 是两个单独的变量时,如何创建一个名称为CCP 的数组?

到目前为止,我已经使用以下方法加入了两者:

my $body='CC';
my $letter='P';
my $joined=$body . "$venue";

但我想实际创建一个名称为@CCP 的数组。我的想法是,我将从数据文件中读取不同的字母,然后创建具有通过将“CC”连接到从文件中读取的字母来命名的数组。

【问题讨论】:

  • 这是一种不好的代码气味,表明您需要哈希。
  • 谢谢:我想我会重写我的代码,以便改用哈希!

标签: arrays perl join


【解决方案1】:

真的不想那样做。当需要访问数组时,如何知道调用了什么?

像这样使用哈希

my %data;

my $body   = 'CC';
my $letter = 'P';

$data{"$body$letter"} = [];

【讨论】:

  • 你的意思是my %data 还是我错过了什么?
  • 你是对的。我在使用散列或散列引用之间犹豫不决,最终两者都使用。谢谢!
  • 当我注意到它时,我感觉自己像一个专业 Perl 用户......哈哈......我还没想过,但哈希可能更适合我的需要!
猜你喜欢
  • 1970-01-01
  • 2015-05-24
  • 2020-04-17
  • 1970-01-01
  • 2013-11-13
  • 2013-02-12
  • 2014-04-18
  • 2021-07-23
  • 2018-03-19
相关资源
最近更新 更多