移除陣列的最後一個元素並傳回,陣列長度減少一個元素。
my @arr = ('cat', 'dog', 'mouse');
my $item = pop(@arr); # 'mouse'
# @arr is now ('cat', 'dog')
如果陣列是空的,傳回 undef
。
注意:如果陣列的最後一個元素是 undef
,pop
也可能會傳回 undef
。
my @arr = ('one', 'two', undef);
my $item = pop(@arr); # undef
如果省略 ARRAY,pop
會對主程式中的 @ARGV
陣列進行操作,但在子程式中會對 @_
陣列進行操作。pop
會對 eval STRING
、BEGIN {}
、INIT {}
、CHECK {}
區塊中的 @ARGV
陣列進行操作。
從 Perl 5.14 開始,一個實驗性功能允許 pop
採用一個純量表達式。此實驗被認為不成功,並在 Perl 5.24 中移除。