#!/usr/local/bin/perl use strict; use warnings; use utf8; print "Content-type: text/html; charset=utf-8\n\n"; print "\n"; print "\n"; print "CGIのテスト\n"; print "\n"; print "\n"; print "------------------
\n"; my @samp = ("B" , "C"); @samp = ("A" ,@samp , "D"); print "@samp
\n"; #⇒A B C D my @samp1 = ( 'E', 'F' ); $samp1[2] = 'G'; @samp1[3..5] = ( 'H','I', 'J' ); print "@samp1
\n"; #⇒E F G H I J my @samp2 = (@samp,@samp1); print "原型: @samp2
\n"; #⇒A B C D E F G H I J #unshift 配列の先頭に要素を追加する。 unshift(@samp2, "W"); # @samp2の先頭にWを追加する print "unshift 先頭にW: @samp2
\n";#⇒W B C D E F G H I J #push 配列の末尾に要素を追加する push(@samp2, 'K'); # @samp2 の末尾にKを追加する print "push 末尾にK: @samp2
\n"; #⇒W A B C D E F G H I J K #shift 配列の先頭の要素を取り除く。 my $top_data = shift(@samp2); # ← @samp2 の先頭のデータを切り取る print "shift 先頭削除: @samp2
\n"; #⇒A B C D E F G H I J K #pop 配列の末尾の要素を取り除く。 my $str = pop @samp2; print "popで削除された文字: $str
\n";#⇒K print "pop 末尾削除: @samp2
\n";#⇒A B C D E F G H I J #splice 配列の要素を任意の位置で削除/追加します。 # splice 配列, 削除する要素の開始位置, 要素の長さ,置き換えるリスト # splice 配列, 削除する要素の開始位置, 要素の長さ # splice 配列, 削除する要素の開始位置 #•開始位置は0から数える。負の値を使用すると末尾から数える。 #•要素の長さで削除する要素の大きさを指定する。省略すると最後まで削除する。 #•置き換えるリストを指定すると要素を置き換えることができる。 #splice @array, pos, [n], [list] #対象、操作開始する位置(+:前からの位置0から始まる。-:後ろからの位置1から始まる。) #、削除する要素数(記入無い場合は、以降全て削除)、置き換える要素列または要素。 # org: A B C D E F G H I J my @str1 = splice(@samp2,-3); #後ろから3要素削除する。 print "1_splice残された文字: @samp2
\n"; #⇒A B C D E F G print "1_spliceで削除された文字: @str1
\n";#⇒H I J @str1 = splice(@samp2,5); #前から5要素を残して以降削除する。 print "2_splice残された文字: @samp2
\n"; #⇒A B C D E print "2_spliceで削除された文字: @str1
\n";#⇒F G my @samp4 = ( 'X', 'Y'); #前より1要素目から3要素削除し、そこへ@samp4を入れる。 @str1 = splice(@samp2,1,3,@samp4); print "3_splice残された文字: @samp2
\n"; #⇒A X Y E print "3_spliceで削除された文字: @str1
\n";#⇒B C D #後ろから2要素目から1要素削除し、@samp4を入れる。 @str1 = splice(@samp2,-2,1,@samp4); print "4_splice残された文字: @samp2
\n"; #⇒A X X Y E print "4_spliceで削除された文字: @str1
\n";#⇒X Y print "--------------------
\n"; #sort # 昇順で並べ替え #@sorted = sort { $a 演算子 $b } @array; # 降順で並べ替え #@sorted = sort { $b 演算子 $a } @array; # # 数値順での並び替えは <=> 、 辞書順での並び替えは cmp を使う。 # # {}(コードブロック)の省略 # この場合は辞書順の昇順で並べ替えた場合と同じ意味となる # @nums = sort {$a cmp $b} @nums; ⇒ @nums = sort @nums; my @number1 = qw/ 5 3 1 4 2 0 6 8 7 9 /; print "org: @number1
\n"; print "
\n"; print "☆SORT☆
\n"; my @number2 = sort {$a cmp $b} @number1; print "sort 辞書順の昇順: @number2
\n"; @number2 = sort @number1; print "sort 辞書順の昇順: @number2
\n"; @number2 = sort {$b cmp $a} @number1; print "sort 辞書順の降順: @number2
\n"; @number2 = sort {$a <=> $b} @number1; print "sort 数値順の昇順: @number2
\n"; @number2 = sort {$b <=> $a} @number1; print "sort 数値順の降順: @number2
\n"; print "------------------
\n"; my @list = ('x', 'y', 'a', 'i', 'p', 'm'); @number1 = @list; @number2 = sort @number1; print "sort 辞書順の昇順: @number2
\n"; @number2 = sort {$b cmp $a} @number1; print "sort 辞書順の降順: @number2
\n"; @number2 = sort {$a <=> $b} @number1; print "sort 数値順の昇順: @number2
\n"; @number2 = sort {$b <=> $a} @number1; print "sort 数値順の降順: @number2
\n"; print "------------------
\n"; my @o_list = qw/43 u P 8 あ か 山田 山本/; @number1 = @o_list; @number2 = sort @number1; print "sort 辞書順の昇順: @number2
\n"; @number2 = sort {$b cmp $a} @number1; print "sort 辞書順の降順: @number2
\n"; @number2 = sort {$a <=> $b} @number1; print "sort 数値順の昇順: @number2
\n"; @number2 = sort {$b <=> $a} @number1; print "sort 数値順の降順: @number2
\n"; print "------------------
\n"; #reverse #リストの要素を逆に並べたリストを返す my @r_list = (9, 77, 1, 222, 8, 4); print "org: @r_list
\n"; my @rev_list = reverse @r_list; print "reverse: @rev_list
\n"; # @rev_list は、( 4 8 222 1 77 9 )となる print "------------------
\n"; print "\n"; print "\n";