Documentation for routine pop assembled from the following pages:

Role: Buf §

From Buf

(Buf) method pop §

method pop()

Extracts the last element of the buffer

say $.pop(); # OUTPUT: «8» 
say $.raku# OUTPUT: «Buf.new(1,1,2,3,5)» 

Language documentation: Independent routines §

From Independent routines

(Independent routines) sub pop §

Defined as:

multi sub pop(@ais raw

Calls method pop on the Positional argument. That method is supposed to remove and return the last element, or return a Failure wrapping an X::Cannot::Empty if the collection is empty.

See the documentation of the Array method for an example.

Class: Array §

From Array

(Array) method pop §

Defined as:

method pop(Array:D:is nodal

Removes and returns the last item from the array. Fails if the array is empty.

Like many Array methods, method pop may be called via the corresponding subroutine. For example:

my @foo = <a b># a b 
@foo.pop;        # b 
pop @foo;        # a 
pop @foo;
CATCH { default { put .^name''.Str } };
# OUTPUT: «X::Cannot::Empty: Cannot pop from an empty Array␤»