Как вытолкнуть последний элемент из массива хэшей? - PullRequest
1 голос
/ 18 января 2011

Ниже приведена ссылка на массив хэшей.Учитывая такую ​​ссылку на массив, я бы хотел удалить последний элемент всегда.Будет ли работать поп?Как хеши не поддерживают порядок? ..

$arrayref = [
          {
            'F1' => V1,
            'F2' => V2,
          },
          {
            'F1' => V3,
            'F2' => V4,
          },
        .
        .
        .
        ];

Ответы [ 2 ]

9 голосов
/ 18 января 2011
pop @$arrayref

или

splice(@$arrayref, -1)

или

--$#$arrayref;

Некоторые легко запоминающиеся правила, которые помогут вам использовать ссылки, см. http://perlmonks.org/?node=References+quick+reference.

6 голосов
/ 18 января 2011

Работает.Попробуйте:

pop @{$arrayref};

Хэши не поддерживают порядок.Но вы работаете с массивом объектов (хэшей).Массивы поддерживают порядок.

...