【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の一番最初の要素を取り出す