【perl】shift関数とunshift関数〜配列の一番最初に要素を追加する・一番最初の要素を取り出す〜

#! /usr/bin/perl

use strict;
use warnings;

my @array = qw(a b 111 222 333);

print "@array\n"; #出力結果 =>a b 111 222 333


#◎shift関数を使用して、配列の一番最初の要素を取り出してみよう。
my $item = shift(@array);

print "$item\n";    #出力結果 =>a =>一番最初の要素を出力
print "@array\n";   #出力結果 =>b 111 222 333 =>一番最初の要素が削られて出力

print "\n";

#◎unshift関数を使用して、配列の一番最初に要素を追加しよう。
unshift(@array,444);
print "@array\n";           #出力結果 =>444 b 111 222 333

#print unshift(@array,444); #出力結果 =>5 =>printもunshiftも一度にしようとすると要素数が返る

print "\n";

my @array1 = qw(zzz yyy www);
unshift(@array1,@array);
print "@array1\n";          #出力結果 =>444 b 111 222 333 zzz yyy www =>配列で追加もできる

my @array2 = qw(999 888);
unshift (@array2,qw(1 2 3));
print "@array2\n";          #出力結果 =>1 2 3 999 888 =>複数の要素の追加も一度にできる

まとめは以下。

(1)unshift(@一番最初に要素を追加したい配列名,追加したい要素)
例1)unshift(@array,@array1)→@arrayの最初に@array1の要素を追加
例2)unshift(@array,123)→→→@arrayの最初に「123」という要素を追加
例3)unshift(@array,qw(a b))→@arrayの最初に「a b」という要素を追加

(2)shift(@一番最初の要素を取り出したい配列名)
例)shift(@array)→@arrayの一番最初の要素を取り出す