Создайте Array Ref в одну строку в Perl - PullRequest
0 голосов
/ 03 мая 2018

Я размышлял над вопросом, могу ли я сделать ссылку на массив в одной строке в Perl. Вроде как вы бы определили массив. Я обычно делал бы следующее:

#!/usr/bin/perl
# your code goes here
use warnings;
use strict;
use Data::Dumper;

my @array = qw(test if this works);
my $arrayref = \@array;
print Dumper($arrayref);

Я думал, что вы должны просто сделать:

my $arrayref = \(qw(test if this works);

Это, однако, не работает так, как я ожидал. Это вообще возможно?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Если ваша цель - создать ссылку на массив в одну строку, используйте квадратные скобки для создания ссылки на массив, который создает анонимный массив.

use Data::Dumper;
my $arrayRef = [qw(test if this works)];
print Dumper($arrayRef);

Так что если это то, что вы хотите сделать, это возможно.

0 голосов
/ 03 мая 2018

Вы можете сделать это, используя для этого «конструктор анонимного массива в квадратных скобках». Это создаст ссылку на массив 'literal'

my $arrayref = [ qw(test if this works) ];

или перечислите каждого члена:

my $arrayref = [ 'test', 'if', 'this', 'works' ];

Вы можете проверить оба результата с помощью Data Dumper:

$VAR1 = [
          'test',
          'if',
          'this',
          'works'
        ];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...