A função pop é utilizada para remoção de elementos no array e o mais interessante é que ela pode nos retornar qual elemento foi removido, utilizando uma variável. O que acontece é que essa variável recebe o elemento removido do array. Lembrando que a função pop só remove o último elemento.
Por exemplo, se tivermos o seguinte código:
#!/usr/bin/perl
@alf = ("a","b","c");
pop(@alf);
print("@alf \n");
exit;
Ao interpretarmos, teríamos como saída:
a b
Porque?
A função pop() esta recebendo um array chamado alf, e os elementos desse array são a, b e c, como o último é o c, o c será removido.
Outro exemplo:
#!/usr/bin/perl
@alf = ("a","b","c","d","f");
@nuns = ("1","2","3","4");
print("@alf \n@nuns \n");
pop(@alf);
pop(@nuns);
print("@alf \n@nuns \n");
exit;
A saída deste código seria:
a b c d f
1 2 3 4
a b c d
1 2 3
Isso pois primeiro ele exibiu os elementos dos arrays nuns e alf e depois removeu os últimos itens destes mesmos arrays e imprimiu novamente. Bem facinho né?!
Vamos agora atribuir a função pop a uma variável. Vamos analisar o código abaixo:
#!/usr/bin/perl
@alf = ("a","b","c","d","f");
print("@alf \n");
$x = pop(@alf);
print("@alf \n");
print("Ultima letra removida: $x \n");
exit;
Interpretando ele, teríamos a saída:
a b c d f
a b c d
Ultima letra removida: f
Neste caso devolvemos o valor removido, utilizando uma variável, neste caso a variável x.
Com tudo isso que aprendemos, poderíamos fazer uma brincadeira de inserção e remoção de elementos:
#!/usr/bin/perl
@alf = ("a","b","c","d","f");
print("Os elementos originais do nosso array sao: \n@alf");
push(@alf,"g");
print("\nVamos adicionar um elemento ao nosso array: \n@alf");
$x = pop(@alf);
print("\nVamos agora retirar o ultimo elemento, o elemento: $x \n");
print("@alf \n");
exit;
A saída do código acima seria:
Os elementos originais do nosso array sao:
a b c d f
Vamos adicionar um elemento ao nosso array:
a b c d f g
Vamos agora retirar o ultimo elemento, o elemento: g
a b c d f
Também não estarei explicando o código acima, pois todas as função ali utilizadas foram explicadas e trabalhadas até aqui neste artigo.