[Perl¥È¥Ã¥×¥Ú¡¼¥¸]

ÇÛÎó¤È¥ê¥¹¥È

¥ê¥¹¥È¤ÈÇÛÎó

¥ê¥¹¥È¤È¤Ï¡¢¥³¥ó¥Þ¤Ç¶èÀڤäƥ«¥Ã¥³¤Ç¤¯¤¯¤Ã¤¿¤â¤Î ¤Î¤³¤È¤Ç¤¹¡£¤¿¤È¤¨¤Ð¡¢²¼µ­¤ÎÎã1¡¢2¤Ï¤½¤ì¤¾¤ì¥ê¥¹¥È¤Ç¤¹¡£

Îã1¡§ ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ')
Îã2¡§ (201, 32, 29)

¤³¤Î¥ê¥¹¥È¤òÇÛÎó¤È¸Æ¤Ð¤ì¤ëÊÑ¿ô¤ËÆþ¤ì¤ë¤È¡¢ ¤½¤Î¸å¤Î½èÍý¤¬³Ú¤Ë¤Ê¤ê¤Þ¤¹¡£¤½¤Î½èÍý¤Î²áÄø¤Ï¸åÄøÀâÌÀ¤¹¤ë¤È¤·¤Æ¡¢ ¾åµ­¤Î¥ê¥¹¥È¤òÇÛÎóÊÑ¿ô¤ËÆþ¤ì¤ë¤È¤¹¤ë¤È¡¢

Îã1¡§ @name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ');
Îã2¡§ @score = (201, 32, 29);

¤È¤¹¤ë¤³¤È¤Ç¡¢ÇÛÎóÊÑ¿ô@name, @score¤Ë¥ê¥¹¥È¤¬Æþ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¤³¤Î¥ê¥¹¥È¤òÀ¸À®¤¹¤ë¤È¤­¤Ç¤¹¤¬¡¢1¤º¤ÄÃͤ¬Â礭¤¯¤Ê¤ë¤è¤¦¤Ê¥ê¥¹¥È¤ò À¸À®¤¹¤ë¾ì¹ç¡¢Perl¤Ç¤Ï³Ú¤¬¤Ç¤­¤Þ¤¹¡£²¼µ­¤Î@data1¤È@data2¡¢ @data3¤È@data4¤ÏƱ¤¸·ë²Ì¤Ë¤Ê¤ê¤Þ¤¹¡£

@data1 = (1, 2, 3, 4, 5);
@data2 = (1 .. 5);

@data3 = (2.5, 3.5, 4.5, 5.5);
@data4 = (2.5 .. 5.5);

¾åµ­¤Î@data3¡Ê@data4¤Ç¤âƱÍÍ¡Ë¤Ë¤Ï 4¤Ä¤ÎÍ×ÁǤ¬Æþ¤Ã¤Æ¤¤¤Æ¡¢¤½¤ì¤¾¤ì¤ÎÍ×ÁǤϲ¼µ­¤Î¤è¤¦¤Ëɽ¸½¤µ¤ì¤Þ¤¹¡£

Í×ÁÇ É½¸½ ÃÍ
0ÈÖÌÜ $data3[0] 2.5
1ÈÖÌÜ $data3[1] 3.5
2ÈÖÌÜ $data3[2] 4.5
3ÈÖÌÜ $data3[3] 5.5

Æä˺ǽé¤ÎÍ×ÁǤò$data3[0]¤Î¤è¤¦¤Ë½ñ¤¯»ö¤Ï¡¢ C¸À¸ì¤Ç¤â¶¦Ä̤Ǥ¹¤·¡¢Ëº¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£

񂫪3-1
²¼µ­¤Î¥¹¥¯¥ê¥×¥È¤òkadai3-1.pl¤È¤·¤Æ½ñ¤­¡¢¼Â¹Ô·ë²Ì¤ò³Îǧ¤»¤è¡£

#!/usr/bin/perl

@name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ');
print "@name\n";

@data1 = (1, 2, 3, 4, 5);
for ($i = 0; $i < 5; $i++){
    print "\$data1[$i]= $data1[$i] \n";
}

@data2 = (1 .. 5);
for ($i = 0; $i < 5; $i++){
    print "\$data2[$i]= $data2[$i] \n";
}

ÇÛÎó¤ÎÍ×ÁÇ¿ô¤ÈÍ×ÁǤÎËöÈø¤Ø¤ÎÄɲäȺï½ü - pop, push -

ÇÛÎó¤ÎÍ×ÁÇ¿ô¤òÄ´¤Ù¤ë¤Î¤Ï´Êñ¤Ç¤¹¡£²¼µ­¤Î@name¤È¤¤¤¦ÇÛÎó¤Î Í×ÁÇ¿ô¤ò$length¤È¤¤¤¦ÊÑ¿ô¤ËÆþ¤ì¤ë¤È¤¹¤ë¤È¡¢

@name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ');
$length = @name;

¤È¤¹¤ë¤À¤±¤Ç¤¹¡£¤¹¤ë¤È¡¢$length¤Ë¤Ï4¤È¤¤¤¦Ãͤ¬Æþ¤ê¤Þ¤¹¡£

¤³¤Î@name¤È¤¤¤¦ÇÛÎó¤Ë¿·¤¿¤Ë'²Ï¹ç'¤È¤¤¤¦Í×ÁǤò Äɲä·¤¿¤¤¾ì¹ç¤òÁÛÄꤷ¤Þ¤·¤ç¤¦¡£

  1. ¸½ºß¤ÎÍ×ÁÇ¿ô¤òÍøÍѤ¹¤ë¾ì¹ç
    @name¤ÎÍ×ÁÇ¿ô¤¬4¤Ä¤È¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ 5ÈÖÌܤÎÍ×ÁǤȤ·¤Æ²¼µ­¤Î¤è¤¦¤ËÄɲäǤ­¤Þ¤¹¡£
    $name[4] = '²Ï¹ç';
  2. ¸½ºß¤ÎÍ×ÁÇ¿ô¤òÍøÍѤ·¤Ê¤¤¾ì¹ç1
    @name = (@name, '²Ï¹ç');
  3. ¸½ºß¤ÎÍ×ÁÇ¿ô¤òÍøÍѤ·¤Ê¤¤¾ì¹ç2 ¡Êpush¤òÍøÍÑ¡Ë
    push @name, '²Ï¹ç';

¤³¤Î¤Ä¤¤¤Ç¤Ë¡¢ÇÛÎó¤ÎËöÈø¤ÎÍ×ÁǤòºï½ü¤·¤¿¤¤¾ì¹ç¡¢

Îã1¡§ pop @name;
Îã2¡§ $delete_name = pop @name;

¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£Îã1¤ÎÊýË¡¤Ç¤Ïñ¤Ëºï½ü¤¹¤ë¤À¤±¤Ç¤¹¤¬¡¢ Îã2¤ÎÊýË¡¤Ç¤Ïºï½ü¤·¤¿Í×ÁǤòÊÑ¿ô$delete_name¤ËÆþ¤ì¤Æ¤¤¤Þ¤¹¡£ pop¤òÍøÍѤ¹¤ë¤È¤³¤Î¤è¤¦¤Ê»È¤¤Êý¤â¤Ç¤­¤Þ¤¹¡£

񂫪3-2
²¼µ­¤Î¥¹¥¯¥ê¥×¥È¤òkadai3-2.pl¤È¤·¤Æ½ñ¤­¡¢¼Â¹Ô·ë²Ì¤ò³Îǧ¤»¤è¡£

#!/usr/bin/perl

@name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ');

# Í×ÁǤÎÄɲÃ
$name[4] = '²Ï¹ç';
print "@name\n";

# Í×ÁǤκï½ü
pop @name;
print "@name\n";

# Í×ÁǤÎÄɲÃ
@name = (@name, '²Ï¹ç');
print "@name\n";


# Í×ÁǤÎÄɲÃ
push @name, '²Ï¹ç';
print "@name\n";

ÇÛÎó¤ÎÀèƬ¤Ø¤ÎÄɲäȺï½ü - shift, unshift -

º£Å٤ϡ¢'²Ï¹ç'¤È¤¤¤¦Í×ÁǤò¡¢@name¤È¤¤¤¦ ÇÛÎó¤ÎÀèƬ¤Ë¿·¤¿¤ËÄɲä·¤¿¤¤¾ì¹ç¤òÁÛÄꤷ¤Þ¤·¤ç¤¦¡£ 2Ä̤ê¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£

@name = ('²Ï¹ç', @name);
unshift @name, '²Ï¹ç';

º£Å٤ϡ¢ÀèƬ¤ÎÍ×ÁǤòºï½ü¤¹¤ë¤Ë¤Ï¡¢

Îã1¡§ shift @name;
Îã2¡§ $delete_name = shift @name;

¤È¤·¤Þ¤¹¡£pop¤Î¤È¤­¤ÈƱÍÍ¡¢Îã2¤Ç¤Ïºï½ü¤·¤¿Í×ÁǤòÊÑ¿ô $delete_name¤ËÆþ¤ì¤Æ¤¤¤Þ¤¹¡£

ÇÛÎó¤ÎǤ°Õ¤ÎÍ×ÁǤؤÎÁàºî - splice -

¤³¤ì¤Þ¤Ç¤Ë¡¢ÇÛÎó¤ÎËöÈø¤Ø¤ÎÁàºî¤Ë¤Ï¡¢push, pop, ÇÛÎó¤ÎÀèƬ¤Ë¤Ï¡¢ shift, unshift¤È¤¤¤¦´Ø¿ô¤ò¾Ò²ð¤·¤Þ¤·¤¿¡£¤³¤ì¤é¤òÅý°ìŪ¤Ë ɽ¸½¤Ç¤­¤ë¤Î¤¬¡¢splice¤Ç¤¹¡£ ²¼µ­¤Î3Ä̤ê¤ÎÊýË¡¤ÎÊýË¡¤ò¾Ò²ð¤·¤Þ¤¹¡£

  1. splice (ÂоÝÇÛÎó, ÇÛÎó¤Ç¤Î°ÌÃÖ, ºï½ü¤¹¤ëÍ×ÁÇ¿ô)
    ñ¤ËÇÛÎó¤Î°ìÉô¤òºï½ü¤¹¤ëÊýË¡¤Ç¤¹¡£²¼µ­¤ÎÎã¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
    @name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ');
    @delete_name = splice (@name, 1, 2);
    print "\@name = @name\n";
    print "\@delete_name = @delete_name\n";
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    @name = ÈӾ µÈÅÄ
    @delete_name = ´ä¶¶ µÆÃÓ
  2. splice (ÂоÝÇÛÎó, ÇÛÎó¤Ç¤Î°ÌÃÖ)
    ÇÛÎó¤Î¤¢¤ëÍ×ÁǤ«¤éºÇ¸å¤Þ¤Ç¤òºï½ü¤¹¤ëÊýË¡¤Ç¤¹¡£²¼µ­¤ÎÎã¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
    @name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ');
    @delete_name = splice (@name, 1);
    print "\@name = @name\n";
    print "\@delete_name = @delete_name\n";
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    @name = ÈÓ¾Â
    @delete_name = ´ä¶¶ µÆÃÓ µÈÅÄ
  3. splice (ÂоÝÇÛÎó, ÇÛÎó¤Ç¤Î°ÌÃÖ, ºï½ü¤¹¤ëÍ×ÁÇ¿ô, Äɲ乤ë¥ê¥¹¥È)
    ÇÛÎó¤Î°ìÉô¤òºï½ü¤·¡¢¤½¤Îºï½ü¤µ¤ì¤¿¤È¤³¤í¤ËÊ̤Υꥹ¥È¡ÊÇÛÎó¡Ë¤ò ÁÞÆþ¤¹¤ëÊýË¡¤Ç¤¹¡£ºï½ü¤¹¤ëÍ×ÁÇ¿ô¤ÈÄɲ乤ëÍ×ÁÇ¿ô¤Ï°ìÃפ¹¤ë ɬÍפϤ¢¤ê¤Þ¤»¤ó¡£²¼µ­¤ÎÎã¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
    @name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ');
    @add_name = ('²Ï¹ç', '´ØËÜ', 'ÅÄÃæ');

    @delete_name = splice (@name, 1, 2, @add_name);
    print "\@name = @name\n";
    print "\@delete_name = @delete_name\n";
    ¡Ê¼Â¹Ô·ë²Ì¡Ë
    @name = ÈӾ ²Ï¹ç ´ØË[ ÅÄÃæ µÈÅÄ
    @delete_name = ´ä¶¶ µÆÃÓ

񂫪3-3
¾åµ­¤ÎÎã1¤«¤éÎã3¤Þ¤Ç¤òkadai3-3.pl¤È¤·¤Æ°ì¤Ä¤Î¥¹¥¯¥ê¥×¥È¤Ë½ñ¤­¡¢ ¼Â¹Ô·ë²Ì¤ò³Îǧ¤»¤è¡£

ÇÛÎó¤ÎÏ¢·ë - join -

join¤ò»È¤¦¤³¤È¤Ç¡¢ÇÛÎó¤Î³ÆÍ×ÁǤòÏ¢·ë¤·¤Æ1¤Ä¤Îʸ»úÎó¤Ë¤Ç¤­¤Þ¤¹¡£ Ï¢·ë¤Î»ÅÊý¤â²¼µ­¤ÎÎã¤Î¤è¤¦¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£

@name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ')
print join ('+', @name), "\n";
¡Ê¼Â¹Ô·ë²Ì¡Ë
ÈÓ¾Â+´ä¶¶+µÆÃÓ+µÈÅÄ
@name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ')
print join (',', @name), "\n";
¡Ê¼Â¹Ô·ë²Ì¡Ë
ÈÓ¾Â,´ä¶¶,µÆÃÓ,µÈÅÄ

ʸ»úÎó¤Î¥ê¥¹¥È²½ - split -

join¤È¤ÏµÕ¤Ë¡¢split¤ò»È¤¦¤³¤È¤Ç¡¢1¤Ä¤Îʸ»úÎó¤òʬ³ä¤·¤Æ¥ê¥¹¥È²½¤·¡¢ ÇÛÎó¤ËÆþ¤ì¤ÆÍÍ¡¹¤ÊÁàºî¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£²¼µ­¤ÎÎã¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£

Î㡧 , ¤ò¶èÀÚ¤ê¤Ëʬ³ä¤¹¤ë¾ì¹ç

$str = 'ÈÓ¾Â,´ä¶¶,µÆÃÓ,µÈÅÄ';
@name = split(/,/, $str);
print "@name\n";

for ($i=0; $i<@name; $i++) {
  print "$name[$i]\n";
}
¡Ê¼Â¹Ô·ë²Ì¡Ë
ÈӾ ´ä¶¶ µÆÃÓ µÈÅÄ
ÈÓ¾Â
´ä¶¶
µÆÃÓ
µÈÅÄ

񂫪3-4
²¼µ­¤Î¥¹¥¯¥ê¥×¥È¤òkadai3-4.pl¤È¤·¤Æ½ñ¤­¡¢¼Â¹Ô·ë²Ì¤ò³Îǧ¤»¤è¡£

#!/usr/bin/perl

@name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ');
$str = join (',', @name);
print "$str\n";

@name = split(/,/, $str);
for ($i=0; $i<@name; $i++) {
  print "$name[$i]\n";
}
¡Ê¼Â¹Ô·ë²Ì¡Ë

ÈӾ ´ä¶¶ µÆÃÓ µÈÅÄ
ÈÓ¾Â
´ä¶¶
µÆÃÓ
µÈÅÄ

ÇÛÎó¤Î½çÈ֤εÕž - reverse -

reverse¤Ï¡¢Ê¸»ú¤É¤ª¤êÇÛÎó¤ÎÍ×ÁǤòµÕ½ç¤Ë¤·¤Þ¤¹¡£

@name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ')
@reverse_name = reverse(@name);

¤È¤¹¤ë¤È¡¢ÇÛÎó@reverse_name¤Ë¤Ï¡¢ÇÛÎó@name¤ÎÍ×ÁǤ¬µÕ½ç¤ÇÆþ¤ì¤é¤ì¤Þ¤¹¡£

ÇÛÎó¤ÎÍ×ÁǤÎʤÓÂؤ¨ - sort -

sort¤Ï¡¢Ê¸»úÎó¤òASCII¥³¡¼¥É½ç¤ËʤÓÂؤ¨¤Þ¤¹¡£

Îã1¡§¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Î¾ì¹ç

@name = ('kikuchi', 'iwahashi', 'yoshida', 'iinuma');
@sort_name = sort @name;
print "@name\n";
print "@sort_name\n";
¡Ê¼Â¹Ô·ë²Ì¡Ë

kikuchi iwahashi yoshida iinuma
iinuma iwahashi kikuchi yoshida

Îã2¡§ÆüËܸì¤Î¾ì¹ç

@name = ('ÈÓ¾Â', '´ä¶¶', 'µÆÃÓ', 'µÈÅÄ');
@sort_name = sort @name;
print "@name\n";
print "@sort_name\n";
¡Ê¼Â¹Ô·ë²Ì¡Ë

ÈӾ ´ä¶¶ µÆÃÓ µÈÅÄ
´ä¶¶ µÆÃÓ µÈÅÄ ÈÓ¾Â

Îã3¡§¿ô»ú¤Î¾ì¹ç ¡§Ê¸»úÎó¤È¤·¤Æɾ²Á¤µ¤ì¤Æ¥½¡¼¥È¤µ¤ì¤ë

@num = (21, 9, 92, 12, 132, 5, 56);
@sort_num = sort @num;
print "@num\n";
print "@sort_num\n";
¡Ê¼Â¹Ô·ë²Ì¡Ë

21 9 92 12 132 5 56
12 132 21 5 56 9 92

Îã4¡§¿ô»ú¤Î¾ì¹ç ¡§¤­¤Á¤ó¤È¿ô»ú¤È¤·¤Æɾ²Á¤µ¤ì¤Æ¥½¡¼¥È¤µ¤ì¤ëÊýË¡

@num = (21, 9, 92, 12, 132, 5, 56);
@sort_num = sort {$a <=> $b} @num;
print "@num\n";
print "@sort_num\n";
¡Ê¼Â¹Ô·ë²Ì¡Ë

21 9 92 12 132 5 56
5 9 12 21 56 92 132

񂫪3-5
¾åµ­¤ÎÎã1¤«¤éÎã4¤Þ¤Ç¤òkadai3-5.pl¤È¤·¤Æ°ì¤Ä¤Î¥¹¥¯¥ê¥×¥È¤Ë½ñ¤­¡¢ ¼Â¹Ô·ë²Ì¤ò³Îǧ¤»¤è¡£

񂫪3-6
¡Ö21:53:08¡×¤Î¤è¤¦¤Ê»þ¹ï¤Îʸ»úÎó¤¬Â¸ºß¤¹¤ë¤È²¾Äꤹ¤ë¡£¤³¤Îʸ»úÎó¤ò ʬ²ò¤·¤ÆÊÑ¿ô¤ËÂåÆþ¤·¤¿·ë²Ì¡¢¡Ö21»þ53ʬ08ÉáפÈɽ¼¨¤µ¤»¤¿¤¤¡£ ¤É¤Î¤è¤¦¤Ë½èÍý¤¹¤ì¤Ð¤¤¤¤¤À¤í¤¦¤«¡©

񂫪3-7
±é½¬3-5¤ÎÎã4¤Ç¤Ï¡¢¥Ç¡¼¥¿¤ò¾º½ç¡Ê¾®¤µ¤¤½ç¤Ëʤ٤뤳¤È¡Ë¤Ç¥½¡¼¥È ¤µ¤ì¤¿¡£º£¡¢Æ±¤¸¥Ç¡¼¥¿¤ò¹ß½ç¡ÊÂ礭¤¤½ç¤Ëʤ٤뤳¤È¡Ë¤Ç¥½¡¼¥È ¤·¤¿¤¤¡£¤É¤Î¤è¤¦¤Ë½èÍý¤¹¤ì¤Ð¤¤¤¤¤À¤í¤¦¤«¡©

񂫪3-8

$line0='20,23,24';
$line1='32,42,21';
$line2='29,42,52';

¤È¤¤¤¦¤è¤¦¤Ê¡¢¿ô»ú¤¬¥«¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿Ê¸»úÎó¡¢$line0, $line1, $line2¤È¤¤ ¤¦ÊÑ¿ô¤¬Â¸ºß¤¹¤ë¤È²¾Äꤹ¤ë¡£¤³¤Îʸ»úÎó¤òʬ²ò¤·¤Æ¿ô»ú¤ò¼è½Ð¤·¡¢²¼µ­¤Î¤è¤¦ ¤Ë1ÈÖÌÜ¡¢2ÈÖÌÜ¡¢3ÈÖÌܤοô»ú¤ÎϤòɽ¼¨¤µ¤»¤¿¤¤¡£ ¤É¤Î¤è¤¦¤Ë½èÍý¤¹¤ì¤Ð¤¤¤¤¤À¤í¤¦¤«¡©

¡Ê¼Â¹Ô·ë²Ì¡Ë
20,23,24
32,42,21
29,42,52
sum:
81,107,97

[Perl¹ÖºÂ] [¿Üºê½ã°ì¥È¥Ã¥×¥Ú¡¼¥¸]
¿Üºê½ã°ì¡¡µþÅÔÂç³ØÂç³Ø ¹©³Ø¸¦µæ²ÊÅԻԴĶ­¹©³ØÀ칶 ´Ä¶­¾ðÊó³Ø¹ÖºÂ