À̸íÇå °æ¿µ ½ºÄð
HOME | BUSINESS | TECH | CULTURE | FORUM | LIST | @emhdt  
[ÆÞ] ÆÞÀÇ º¯¼ö¿Í ½ºÄÉÀ϶ó(scalar): ¹®ÀÚ¿­ ó¸® ±×¸®°í °£´ÜÇÑ Á¶Àý¹®
ÆÞÀÇ ´Ü¼ö ¸í»ç
À̸íÇå / 2001-10-2 /

ÆÞ¿¡´Â Å©°Ô ¼¼ °¡Áö º¯¼ö°¡ ÀÖ½À´Ï´Ù. ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾îº¸´Ù º¯¼öÇü¿¡ À־ ¾ö°ÝÇÏÁö ¾Ê±â ¶§¹®¿¡ ÀÌÇØÇϱⰡ ÈξÀ ½±°í ½ÇÁ¦ ÄÚµùµµ ¾ÆÁÖ Æí¸®ÇÏ°í °£´ÜÇÕ´Ï´Ù.

¸í»ç¿Í º¯¼ö

ÇÁ·Î±×·¥ ¾ð¾î¸¦ ¹è¿ì´Â °ÍÀº ¿Ü±¹¾î¸¦ ¹è¿ì´Â °Í°ú ¸¹Àº À¯»çÁ¡ÀÌ ÀÖ½À´Ï´Ù. ¾ð¾î¸¶´ÙÀÇ ¹®È­°¡ ÀÖ½À´Ï´Ù. ¾ð¾î¸¦ »ç¿ëÇÏ´Â Ä¿¹Â´ÏƼ°¡ Á¸ÀçÇÕ´Ï´Ù. ±×¹Û¿¡ ½ÇÁ¦ ¾ð¾î ÀÚü·Î¼­µµ ¸¹Àº °øÅëÁ¡ÀÌ ÀÖ½À´Ï´Ù.

³­»ð(?)ÇÏ°Ô ¾²¿©Áø °ÍÀ¸·Î ¾Ç¸í ³ôÀº ÆÞÀÇ '±³°ú¼­', "Programming Perl"(Àϸí Camel Book; ÆÞÀ» ¸¸µç Larry Wallä«°¡ Á÷Á¢ ¾´ Ã¥ÀÔ´Ï´Ù)À» º¸¸é ¿ì¸®°¡ »ç¿ëÇÏ´Â ÀÏ»ó ¾ð¾î¿Í ÇÁ·Î±×·¡¹Ö ¾ð¾î »çÀÌÀÇ À¯»çÁ¡À» µé¾î ¼³¸íÇÏ´Â ¹æ½ÄÀÌ °ðÀß µîÀåÇÕ´Ï´Ù. ·¡¸® ¿ùä«´Â Á¤¸» ¾ð¾îÇÐÀÚ(linguist)¿´±â ¶§¹®¿¡ ±×·± °æÇâÀÌ ´õ µÎµå·¯Áö´Â °Í °°½À´Ï´Ù. ¿¹¸¦ µé¾î ÀÌ·± ¾ê±â°¡ ³ª¿É´Ï´Ù.

¼Ò³âº¯¼ö´Â '¸í»ç'¿¡ ÇØ´çÇϰí, ÇÔ¼ö´Â 'µ¿»ç'¿¡ ÇØ´çµÇ´Ï´Ù. ÆÞ¿¡¼­ º¯¼ö À̸§À» ¸¸µé ¶§, ¾Õ¿¡ Ư¼ö±âÈ£ ($, @, %)¸¦ ºÙ¿©¼­ ¸¸µå´Âµ¥ À̰ÍÀº ÀÚ¿¬¾îÀÇ '°ü»ç'¿¡ ÇØ´çµË´Ï´Ù.

Áß¿äÇÑ °ÍÀº ¸í»ç´Ï µ¿»ç´Ï ÇÏ´Â °Ô ¾Æ´Ï°í, ÆÞÀº µ¶Æ¯ÇϰԵµ º¯¼ö À̸§ ¾Õ¿¡ Ư¼ö ¹®ÀÚ¸¦ ºÙ¿©¼­ º¯¼öÀÇ ÇüÀ» °áÁ¤ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â °ÅÀÇ ´Ù º¯¼ö À̸§ ¾Õ¿¡ Ưº°ÇÑ ±âÈ£°¡ ºÙÁö ¾Ê½À´Ï´Ù. ¾ËÆÄºªÀ̳ª ¼ýÀÚ¸¦ ÀÏÁ¤ÇÑ ±ÔÄ¢¿¡ ¸Â°Ô ¹è¿­ÇÏ¸é º¯¼ö À̸§À¸·Î »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç º¯¼öÀÇ Çü(type; Á¤¼öÇü, ½Ç¼öÇü, ºÒ¸®¾ðÇü,.)Àº ¼±¾ð(declaration)À̶ó´Â °úÁ¤À» °ÅÃļ­ °áÁ¤ÇÏ´Â °Ô º¸ÅëÀÔ´Ï´Ù.

ÆÞÀº µ¶Æ¯ÇϰԵµ º¯¼ö À̸§ ÀÚü¿¡ Ư¼ö±âÈ£¸¦ ºÙ¿©¼­ ¼±¾ð ¾øÀÌ º¯¼ö À̸§ÀÌ °ð¹Ù·Î ÇüÀ» ³ªÅ¸³»°Ô µÇ¾î ÀÖ½À´Ï´Ù. ¿µ¾îÀÇ °ü»çó·³ ±× º¯¼öÀÇ Æ¯Â¡À» À̸§¸¸ º¸°íµµ ¾Ë ¼ö ÀÖ½À´Ï´Ù. a boy, a girl µîÀÌ "a" ¶ó´Â °ü»ç¸¦ ÅëÇØ¼­ ´Ü¼ö¸í»ç·Î ÆÄ¾ÇµÇ´Â °Íó·³, ÆÞÀÇ º¯¼ö ¿ª½Ã º¯¼ö ¾Õ¿¡ ºÙÀº ±âÈ£¸¦ ÅëÇØ ÇüÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÆÞÀÇ º¯¼ö Áß '´Ü¼ö'¿¡ ÇØ´çÇÏ´Â, Áï ÇÑ °³Â¥¸® ¹«¾ùÀ» ´ã´Â º¯¼ö¸¦ ½ºÄÉÀ϶ó(scalar)¶ó°í ÇÕ´Ï´Ù. ½ºÄÉÀÏ¶ó º¯¼ö´Â º¯¼ö À̸§ ¾Õ¿¡ $(´Þ·¯Ç¥½Ã)¸¦ ºÙ¿©¼­ ¸¸µì´Ï´Ù. $°¡ scalar ÀÇ "s"¿Í À¯»çÇÏ´Ù´Â °ÍÀ¸·Î ±â¾ïÇÏ¸é µË´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½Àº ¿©·¯ ½ºÄÉÀÏ¶ó º¯¼ö¿¡ ¼ýÀÚ³ª ¹®ÀÚ, ¹®ÀÚ¿­À» ÇÒ´çÇÑ °ÍÀÔ´Ï´Ù.


$a = 13;
$b = 'a';
$c = '25';
$d = "xyz";
print $a,$b,$c,$d;

ÆÞÀÇ º¯¼ö´Â ±× º¯¼ö À̸§¿¡¼­ ÀÌ¹Ì ÇüÀÌ µå·¯³ª±â ¶§¹®¿¡ µû·Î ¼±¾ðÇÏÁö ¾Ê½À´Ï´Ù. ´Þ·¯ Ç¥½Ã¸¸ ºÙ¾îÀÖÀ¸¸é ¼ýÀÚ³ª ¹®ÀÚ ÇÑ °³¸¦ ´ã´Â ½ºÄÉÀÏ¶ó º¯¼ö°¡ µË´Ï´Ù. ¿©±â¿¡ ´ëÇØ¼­´Â C ³ª ÀÚ¹Ù, ÆÄ½ºÄ®À» ¾²´ø »ç¶÷µéÀº ¾ð¾î°¡ ³Ê¹« ±ÔÄ¢¾øÀÌ ¾îÁö·´´Ù°í ºñÆÇÇϱ⵵ ÇÏÁö¸¸ ÇÑÆí¿¡¼­´Â ÀÌ·± Á¡ÀÌ ÆÞÀÇ ¸Å·ÂÀ̶ó°í ¾ê±âÇÕ´Ï´Ù. °¢ÀÚÀÇ È£ºÒÈ£´Â ÀÖ°ÚÁö¸¸ ÆÞÀº »ó´ëÀûÀ¸·Î °£ÆíÇϰí ÀÚÀ¯·Ó½À´Ï´Ù.

¶Ç Çϳª, ½ºÄÉÀÏ¶ó º¯¼ö¿¡´Â ¼ýÀÚ³ª ¹®ÀÚ, ¹®ÀÚ¿­ÀÌ ´Ù ´ã±æ ¼ö ÀÖ´Ù´Â Á¡µµ ÁÖÀÇÇϼ¼¿ä. ÆÞÀÇ º¯¼ö´Â Çü(type)¿¡ ¾ö°ÝÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¥ ¾ð¾î, À̸¦Å׸é C³ª ÀÚ¹Ù, ¶Ç´Â ÆÄ½ºÄ® µîÀº º¯¼öÇüÀÌ ÆÞ¿¡ ºñÇØ ÈξÀ ´õ ¾ö°ÝÇÕ´Ï´Ù. "strongly typed language"ÀÔ´Ï´Ù. ¾î´À ÂÊÀÌ ´õ ÁÁÀº°¡¿¡ ´ëÇØ¼­ ¿©·¯ ÀǰßÀÌ ÀÖ½À´Ï´Ù¸¸ ÆÞÀº Á¶±Ý ´õ ºÐ¹æÇÑ ÂÊÀ̶ó°í »ý°¢ÇÏ¸é µË´Ï´Ù.

½ºÄÉÀÏ¶ó º¯¼ö¿¡ ´ãÀ» ¼ö ÀÖ´Â °Í¿¡´Â ¼ýÀÚ, ¹®ÀÚ ¿Ü¿¡µµ reference(C¾ð¾îÀÇ Æ÷ÀÎÅÍ¿Í ºñ½ÁÇÑ °ÍÀ¸·Î »ý°¢ÇÏ½Ã¸é µË´Ï´Ù)¿Í °´Ã¼°¡ ÀÖ½À´Ï´Ù. ·¹ÆÛ·±½º³ª °´Ã¼¿¡ °üÇÑ ³»¿ëÀº ±î´Ù·Î¿î ÆíÀ̱⠶§¹®¿¡ ¿©±â¼­´Â ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù.

´Ü¼ö´Â ½ºÄÉÀ϶ó¶ó°í Çß½À´Ï´Ù. ±×·¸´Ù¸é º¹¼ö´Â ¹«¾ùÀϱî¿ä?
ÆÞ¿¡¼­ÀÇ º¹¼ö´Â ¹è¿­(Array)À̶ó°í ÇÕ´Ï´Ù. arrayÀÇ ¾Õ±ÛÀÚó·³ @¸¦ º¯¼ö À̸§ ¾Õ¿¡ ºÙ¿©¼­ »ç¿ëÇÕ´Ï´Ù. ¹Ù²ã ¾ê±âÇÏ¸é ½ºÄÉÀÏ¶ó¸¦ ¸ð¾Æ ³õÀº °ÍÀÌ ¹è¿­ÀÔ´Ï´Ù.


@a = (3, 2);
@b = 5;
@c = ("abc", 34, '21');
print @a; print @c;

ÆÞÀº °¢ ±¸¹®À» ¼¼¹ÌÄÝ·ÐÀ¸·Î ±¸ºÐÇÕ´Ï´Ù. ³¡¿¡ ¼¼¹ÌÄÝ·Ð ;ÀÌ ³ª¿À¸é ´ÙÀ½ ±¸¹®ÀÌ ½ÃÀ۵Ǵ °ÍÀ¸·Î ÆÄ¾ÇÇÕ´Ï´Ù. ÆÞÀÇ ÁÖ¼®¹®(comment; ÇÁ·Î±×·¥ ½ÇÇà°ú °ü°è¾ø´Â, ¼³¸íÀ» À§ÇÑ ±¸¹®)Àº #À¸·Î ½ÃÀÛÇÕ´Ï´Ù. # ±âÈ£ ´ÙÀ½ÀÇ ³»¿ëÀº ÄÄÆÄÀÏ ½Ã¿¡ ¹«½ÃÇÕ´Ï´Ù.

¸¶Áö¸· ÆÞÀÇ º¯¼öÇüÀº ÇØ½¬(hash; associative array)ÀÔ´Ï´Ù. ÇØ½¬¿Í ¹è¿­¿¡ °üÇØ¼­´Â ´ÙÀ½ ±Û¿¡¼­ ¾ÆÁÖ ÀÚ¼¼ÇÏ°Ô ´Ù·ê °ÍÀÔ´Ï´Ù.

Á¤¸®Çϸé, ÆÞÀÇ ¸í»ç, Áï º¯¼ö¿¡´Â ¼¼ °¡Áö Á¾·ù°¡ ÀÖ½À´Ï´Ù.

  • ½ºÄÉÀÏ¶ó º¯¼ö: $·Î ½ÃÀÛ
  • ¹è¿­ º¯¼ö: @·Î ½ÃÀÛ
  • ÇØ½¬ º¯¼ö: %·Î ½ÃÀÛ

ÀÌÁ¦, ½ºÄÉÀÏ¶ó º¯¼öºÎÅÍ ÀÚ¼¼ÇÏ°Ô ¾Ë¾Æ º¾½Ã´Ù.

½ºÄÉÀ϶ó(Scalar)

À§¿¡¼­ ½ºÄÉÀ϶ó´Â ÇÑ °³Â¥¸® ¹«¾ùÀ̶ó°í Çß½À´Ï´Ù. ¼ýÀÚ(number)°¡ µÇ¾úµç ¹®ÀÚ(character)°¡ µÇ¾úµç ¶Ç´Â ¹®ÀÚ¿­(string)ÀÌ µÇ¾úµç ÇÑ °³Â¥¸®´Â ´Ù ½ºÄÉÀÏ¶ó º¯¼ö¿¡ ´ãÀ» ¼ö ÀÖ½À´Ï´Ù.

¼ýÀÚ¿¡¼­ Ư±âÇÒ ¸¸ÇÑ °ÍÀ¸·Î´Â '0'À¸·Î ½ÃÀÛÇÏ´Â °ÍÀº 8Áø¼ö¸¦ ³ªÅ¸³»°í, '0x'·Î ½ÃÀÛÇÏ´Â °ÍÀº 16Áø¼ö, '0b' ·Î ½ÃÀÛÇÏ´Â °ÍÀº 2Áø¼ö¸¦ ³ªÅ¸³½´Ù´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ´ÙÀ½Àº ¸ðµÎ 10Áø¼ö·Î 255ÀÎ °ªµéÀ» ½ºÄÉÀÏ¶ó º¯¼ö¿¡ ÇÒ´çÇÑ °ÍÀÔ´Ï´Ù.


$octal = 0377;  # 8Áø¼ö 377ÀÔ´Ï´Ù. 
# 10 Áø¼ö·Î °íÄ¡¸é (3*(8^2)) + (7*8) + 7 = 255
$hexa = 0xff;  # 16Áø¼ö ff ÀÔ´Ï´Ù. ¿ª½Ã 10 Áø¼ö·Î´Â 255
$binary = 0b11111111; # 2Áø¼ö 11111111 ÀÔ´Ï´Ù. 
$decimal = 255;

¹®ÀÚ¿­(string) ¸¸µé±â

ÆÞÀº ¹®ÀÚ¿­ 󸮿¡ À־ ÃÖ°­À¸·Î ¾Ë·ÁÁø ¾ð¾îÀÔ´Ï´Ù. ¾ÆÁÖ º¹ÀâÇÑ ¾ê±âµéÀÌ ¸¹½À´Ï´Ù. ¿©±â¼­´Â ½ºÄÉÀÏ¶ó º¯¼ö¿Í °ü°èµÇ´Â °£´ÜÇÑ °Íµé¸¸ ¾Ë¾Æº¸°í ³Ñ¾î°©½Ã´Ù.

¹®ÀÚ¿­ Ç¥Çö ¹æ½Ä(literal representation of strings)¿¡´Â µÎ °¡Áö°¡ ÀÖ½À´Ï´Ù. ´ÙÀ½ µÎ °¡Áö ¹æ½Ä¿¡ ÀÇÇØ Ç¥ÇöµÈ °ÍÀº ¹®ÀÚ¿­·Î ÆÄ¾ÇÇÕ´Ï´Ù.

¹®ÀÚ¿­Ã¹Â°´Â ÀÛÀº µû¿ÈÇ¥·Î ¹­ÀÎ ¹®ÀÚµéÀÔ´Ï´Ù. (single-quoted string literals)


'a'
''
'abc'
'\'
'\t\n'

ÀÌµé ¸ðµÎ ¹®ÀÚ¿­ÀÔ´Ï´Ù. ½ºÄÉÀÏ¶ó º¯¼ö¿¡ ÇÒ´çÇϸé,


$a = 'abc';
$b = 'what do you want?';

µÎ ¹øÂ°·Î´Â Å« µû¿ÈÇ¥·Î ¹­ÀÎ ¹®ÀÚµéÀÔ´Ï´Ù. (double-quoted string literals)


"a"
"abc"
"\tmerong"

¿ª½Ã ½ºÄÉÀÏ¶ó º¯¼ö¿¡ °°Àº ¹æ½ÄÀ¸·Î ÇÒ´çµË´Ï´Ù.


$mystring = "abc";
$bb = "xyz\n";

¿Ö ¶È°°Àº ±â´ÉÀ» ÇÏ´Â °ÍÀ» µÎ °¡Áö³ª ¸¸µé¾î ³ùÀ»±î¿ä? µÑÀº Â÷À̰¡ ÀÖ½À´Ï´Ù. Å« µû¿ÈÇ¥·Î ¹­´Â °æ¿ì ¹é½½·¡½¬ Å»Ãâ¹®ÀÚ(\·Î ½ÃÀÛÇÏ´Â ¿©·¯°¡Áö Ư¼ö±â´É ¹®ÀÚ)¿Í "variable interpolation"ÀÌ ÀϾ´Ù´Â Á¡¿¡¼­ ´Ù¸¨´Ï´Ù. ÀÌ°Ô ¹«½¼ ÀǹÌÀ̳ĸé¿ä.

¹é½½·¡½¬·Î ½ÃÀÛÇÏ´Â Å»Ãâ¹®ÀÚ°¡ ÇÁ·Î±×·¡¹Ö¿¡¼­ ³Î¸® ¾²À̰í ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, \nÀº ÁٹٲÞÀ» ¶æÇϰí, \t´Â ÅÇÀ» ¶æÇÕ´Ï´Ù. ÀÌ·± ¹é½½·¡½¬ Å»Ãâ¹®ÀÚµéÀÌ ÀÛÀº µû¿ÈÇ¥³»¿¡¼­´Â ¾Æ¹« Àǹ̸¦ °®Áö ¸øÇÕ´Ï´Ù.

'abc\n'

À̰ÍÀº ±×³É a, b, c, \, n À̶ó´Â ´Ù¼¸°³ÀÇ ¹®ÀÚ·Î ÀÌ·ïÁø ¹®ÀÚ¿­ÀÏ »ÓÀÔ´Ï´Ù.


$single = 'abc\n';
print $single;

À̰ÍÀ» ½ÇÇà½Ã۸é 5°³ÀÇ ¹®ÀÚ°¡ Ãâ·ÂµÉ »ÓÀÔ´Ï´Ù.

¹Ý¸é,


$double = "abc\n";
print $double;

À§ Äڵ带 ½ÇÇàÇϸé abc°¡ ÂïÈù ´ÙÀ½ ÁÙÀ» ¹Ù²ã¼­ Ä¿¼­°¡ ±ô¹Ú°Å¸®°Ô µË´Ï´Ù. \n¶ó´Â Ư¼öÇÑ Àǹ̸¦ °¡Áø ¹®ÀÚ°¡ Å« µû¿ÈÇ¥ ¾È¿¡¼­´Â Ưº°ÇÑ Àǹ̷Π¾²À̱⠶§¹®ÀÔ´Ï´Ù. ¸¶Âù°¡Áö·Î Ư¼öÇÑ Àǹ̸¦ °®´Â ¹®ÀÚ¸¦ ±× ¹®ÀÚ °íÀ¯ÀÇ Àǹ̷Π»ç¿ëÇϱâ À§Çؼ­´Â ¹é½½·¡½¬¸¦ ÀÌ¿ëÇØ¼­ 'Å»Ãâ'À» ÇØÁà¾ß Çϴµ¥ ÀÌ·¯ÇÑ Å»ÃâÀÌ Å« µû¿ÈÇ¥³»¿¡¼­¸¸ Àǹ̰¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ´Þ·¯ Ç¥½Ã $´Â ½ºÄÉÀÏ¶ó º¯¼ö¸¦ ¸¸µå´Â µ¥ »ç¿ëµÇ´Â Ư¼öÇÑ ¹®ÀÚÀÔ´Ï´Ù. 'ÁøÂ¥ ´Þ·¯' Ç¥½Ã·Î ¾²·Á¸é ÀÌ·¸°Ô ÇØ¾ß ÇÕ´Ï´Ù.

print "I have \$5.";

¸¸¾à $ ¾Õ¿¡ \¸¦ ½á¼­ Å»ÃâÇÏÁö ¾ÊÀ¸¸é ´Þ·¯ Ç¥½Ã°¡ ¶ßÁö ¾Ê½À´Ï´Ù. ÀÌ·± °ÍÀÌ ÀÛÀº µû¿ÈÇ¥¿¡¼­´Â ¾ÈµË´Ï´Ù.

print 'I have \$5.';

À̰ÍÀ» Ãâ·ÂÇØ º¸¸é I have \$5.¶ó°í Ãâ·ÂµË´Ï´Ù. ¹é½½·¡½¬¸¦ ÀÌ¿ëÇÑ Å»ÃâÀÌ ¾ÈµË´Ï´Ù.

ÀÛÀº µû¿ÈÇ¥º¸´Ù´Â Å« µû¿ÈÇ¥°¡ ´õ È­·ÁÇÏ°Ô »ý°å±â ¶§¹®¿¡ ºÎ°¡ÀûÀÎ ±â´ÉÀÌ ÀÖ´Ù°í ÀÌÇØ¸¦ Çϸé ÁÁ½À´Ï´Ù. (ÀúÀÇ ¾ïÁö°¡ ¾Æ´Õ´Ï´Ù. °ð ºñ½ÁÇÑ ³í¸®°¡ ¿©±âÀú±â¼­ µîÀåÇÕ´Ï´Ù.)

´ÙÀ½À¸·Î "variable interpolation"¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸ÁÒ.


$word = 'perl';
print "$word is fun!";

À§ Äڵ带 ½ÇÇàÇϸé perl is fun!À̶ó°í Ãâ·ÂµË´Ï´Ù. ÀÌó·³ º¯¼ö°¡ ¹®ÀÚ¿­ Áß°£¿¡ ¼¯¿© ÀÖÀ» ¶§ ±× º¯¼öÀÇ °ªÀÌ º¯¼ö À̸§À» ´ëüÇÏ´Â °ÍÀ» "variable interpolation"À̶ó°í ÇÕ´Ï´Ù. ½ÇÁ¦ ÄÚµù¿¡¼­ ¸Å¿ì Æí¸®ÇÏ°Ô È°¿ëÇÒ ¼ö ÀÖ´Â ±â´ÉÀÔ´Ï´Ù.

±×·±µ¥ ÀÛÀº µû¿ÈÇ¥¿¡¼­´Â ¾ÈµË´Ï´Ù.


$word = 'perl';
print '$word is fun !';

½ÇÇàÇØ º¸¸é ¾î¶»°Ô µÉ Áö ÁüÀÛÀÌ µÇÁÒ?

¹®ÀÚ¿­ ó¸® ¿¬»êÀÚ

¹®ÀÚ¿­°ú °ü°èµÇ´Â ¿¬»êÀÚ(operator)¿¡´Â Å©°Ô µÎ °¡Áö°¡ ÀÖ½À´Ï´Ù. ÀÚÁÖ ¾²ÀÌ´Â °ÍÀº concatenation operatorÀÎ . ÀÔ´Ï´Ù. (Á¡ ÇѰ³) concatenationÀº ¹®ÀÚ¿­À» ÇÕÃÄÁÖ´Â °ÍÀÔ´Ï´Ù.


$abc = "hello" . " world";
print $abc;

À̰ÍÀº

$abc = "hello world";
¿Í ¸¶Âù°¡ÁöÀÔ´Ï´Ù.

C ¾ð¾î ¾²´Â »ç¶÷µéÀÌ ¹«Ã´ ºÎ·¯¿öÇÏ´Â °Í ÁßÀÇ Çϳª°¡ concatenation operatorÀÔ´Ï´Ù.

¶Ç Çϳª´Â x ÀÔ´Ï´Ù. °öÇϱâÀÔ´Ï´Ù.


$a = 'perl';
$b = $a x 3;
print $b;

$b¿¡´Â 'perlperlperl'ÀÌ ´ã±â°Ô µË´Ï´Ù.¹Ýº¹ÀÔ´Ï´Ù. ¾ÆÁÖ ¼Ó±â ½¬¿î ÄûÁî°¡ ÀÖ½À´Ï´Ù.


$aa = 5 x 4;
print $aa;

À̰ÍÀº 20ÀÌ Ãâ·ÂµÇ´Â°Ô ¾Æ´Ï¶ó, 5555°¡ Ãâ·ÂµË´Ï´Ù. ¼ýÀÚ °ö¼ÀÀº *ÀÌÁö x°¡ ¾Æ´Õ´Ï´Ù. x´Â ¹®ÀÚ¿­À» ¹Ýº¹ÇÏ´Â ¹®ÀÚ¿­ ó¸® ¿¬»êÀÚÀÔ´Ï´Ù.

½ºÄÉÀÏ¶ó º¯¼ö¿¡ ¼ýÀÚµµ ´ã±â°í ¹®ÀÚµµ ´ã±ä´Ù¸é ÀÌ°Ô È¥¶õÀ» ÀÏÀ¸Å°Áö ¾ÊÀ»±î¶ó´Â ¿°·Á°¡ µé ¼ö ÀÖ½À´Ï´Ù. ´ÙÇེ·´°Ôµµ ÆÞÀº ¼ýÀÚ¿Í ¹®ÀÚ¿­À» Çʿ信 ¸Â°Ô ¾Ë¾Æ¼­ ÀüȯÀ» ÇÕ´Ï´Ù. (automatic conversion between numbers and strings) ¿¬»êÀÚ¸¦ º¸°í ¹®ÀÚ¿­·Î Ãë±ÞÇÏ´Â°Ô ¸ÂÀ¸¸é ¹®ÀÚ¿­·Î, ¼ýÀÚ°¡ ¸ÂÀ¸¸é ¼ýÀÚ·Î Ãë±ÞÇÕ´Ï´Ù.

print "3" * "4";

À̰ÍÀº 12°¡ Ãâ·ÂµË´Ï´Ù. ºÐ¸íÈ÷ "3"µµ ¹®ÀÚ¿­À̰í "4"µµ ¹®ÀÚ¿­ÀÌÁö¸¸ ¿¬»êÀÚ°¡ ¼ýÀÚ ¿¬»êÀÚÀÎ *À̱⠶§¹®¿¡ ¾Ë¾Æ¼­ º¯È¯ÇÕ´Ï´Ù.

ÀÌ·¸°Ô ÆÞÀº ¹®¸Æ(context)¿¡ ¸Â°Ô ÀÚµ¿À¸·Î 󸮵Ǵ °ÍÀÌ ¸¹½À´Ï´Ù. Áß¿äÇÑ À̾߱âÀÔ´Ï´Ù.
ÆÞÀº ¹®¸Æ¿¡ µû¶ó ¶È°°Àº ¹®ÀåÀÌ ÀüÇô ´Ù¸¥ °ÍÀ» ÀǹÌÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀÌ ¹Ù·Î ÀÚ¿¬¾îÀÇ Æ¯¼ºÀ̱⵵ ÇÕ´Ï´Ù. ¶È°°Àº "µ·"À̶ó´Â ´Ü¾î¶óµµ "µ·À» ¹ú´Ù"¿¡¼­ÀÇ "µ·" °ú "¸Ó¸®°¡ µ· »ç¶÷"¿¡¼­ÀÇ "µ·"Àº ÀüÇô ´Ù¸¨´Ï´Ù. ÆÞÀº ÀÌ·± ÀÚ¿¬¾îÀÇ Æ¯Â¡À» °®°í ÀÖ½À´Ï´Ù. À̰ÍÀÌ ÆÞÀ» ÆÞ´ä°Ô ¸¸µì´Ï´Ù.

¹®ÀÚ¿­ ó¸®¿Í °ü·ÃÇØ¼­ ÆÞÀº ´Ù¾çÇÑ ÇÔ¼ö¿Í ±â´ÉµéÀ» °®°í ÀÖ½À´Ï´Ù¸¸, ±×°ÍÀº º°µµÀÇ ¹®¼­¿¡¼­ »ìÆìº¸°Ú½À´Ï´Ù. ¿©±â¼­´Â ¹®ÀÚ¿­ ó¸® °ü·Ã ¿¬»êÀÚ¿¡ ., x°¡ ÀÖ´Ù´Â Á¤µµ·Î¸¸ ÇØµÎ°Ú½À´Ï´Ù.

¸¶Áö¸·À¸·Î ½ºÄÉÀÏ¶ó º¯¼öÀÇ ÇÒ´ç¿¡ ´ëÇØ¼­ ÇѰ¡Áö ´õ ¾ê±âÇϰí ÀÌ ±ÛÀ» Á¢°Ú½À´Ï´Ù. ½ºÄÉÀÏ¶ó º¯¼ö¿¡ °ªÀ» ÇÒ´çÇÏ´Â °ÍÀº ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í ¸¶Âù°¡Áö·Î =¸¦ »ç¿ëÇÕ´Ï´Ù.

$scalar = 13;

ÇÒ´ç ¿¬»êÀÚ¿¡´Â = ¿Ü¿¡ ´Ù¸¥ °ÍÀÌ ÀÖ½À´Ï´Ù. C¿¡¼­¿Í °°Àº binary assignment operator°¡ ÀÖ½À´Ï´Ù.

$count += 5;

À̰ÍÀº,

$count = $count + 5;

¿Í °°Àº ÀǹÌÀÔ´Ï´Ù. ¸¶Âù°¡Áö·Î,

$multiply *= 2;

µµ °¡´ÉÇÕ´Ï´Ù.

ÀÌ·¯ÇÑ binary assignment operatorÁß¿¡ °¡Àå ÀÚÁÖ ¾²ÀÌ´Â °ÍÀº,

$name .= " ";idiom

= ¾ÕÀÇ Á¡¿¡ ÁÖÀÇÇϼ¼¿ä. Á¡Àº concatenation, ¹®ÀÚ¿­À» ÇÕÃÄÁÝ´Ï´Ù. µû¶ó¼­ À§ÀÇ ±¸¹®Àº,

$name = $name . " ";

°ú °°Àº Àǹ̷Î, $name º¯¼ö °ª¿¡ ½ºÆäÀ̽º¸¦ ºÙ¿©¼­ ´Ù½Ã ÇÒ´çÇÑ´Ù´Â ÀǹÌÀÔ´Ï´Ù. ÀÌ·¸°Ô º¯¼ö°ª¿¡ º¯È­¸¦ ÁÙ ¶§ »ç¿ëÇÏ´Â °ÍÀÌ binary assignment operatorÀÔ´Ï´Ù.

¸¶Áö¸· ¿¹´Â ²À ±â¾ïÇØ µÎ¼¼¿ä.

½ºÄÉÀÏ¶ó º¯¼ö¿Í °ü·ÃÀÖ´Â Á¶Àý¹®

½ºÄÉÀÏ¶ó º¯¼ö¿Í °ü°èµÇ´Â Á¶Àý¹®¿¡´Â if¿Í whileÀÌ ÀÖ½À´Ï´Ù. ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡µµ ´ëºÎºÐ Á¸ÀçÇÏ´Â °ÍµéÀÔ´Ï´Ù. À̰ÍÀº ÆÞÀÇ ±¸¹®°ú ·çÇÁ¿¡¼­ ÀÚ¼¼È÷ ´Ù·ê °ÍÀ̹ǷΠ¿©±â¼­´Â °¡º±°Ô ±¸°æ¸¸ ÇØº¾½Ã´Ù. ifºÎÅÍ º¾½Ã´Ù.

if (something) { do this }

À§¿Í °°Àº ÇüÅ·Π¾²ÀÔ´Ï´Ù. somethingÀÌ 'Âü' À̸é Áß°ýÈ£ ¾ÈÀÇ ±¸¹®À» ½ÇÇàÇ϶ó´Â ÀǹÌÀÔ´Ï´Ù.

ÀÚ¼¼ÇÑ ¾ê±â¿¡ µé¾î°¡±â Àü¿¡ ½ºÄÉÀÏ¶ó º¯¼ö¿Í °ü°èµÇ´Â ¿¬»êÀÚ ¸î °³¸¦ ´õ »ìÆìº¸°í ¾ê±â¸¦ Ç®¾î°©½Ã´Ù. ÆÞ¿¡µµ ¿©Å¸ ¾ð¾î¿Í ¸¶Âù°¡Áö·Î ºñ±³¿¬»êÀÚ(comparison operators)°¡ ÀÖ½À´Ï´Ù. Å©³Ä, ÀÛÀ¸³Ä. °°À¸³Ä, ´Ù¸£³Ä µîµîÀ» ºñ±³ÇÏ´Â ¿¬»êÀÚÀÔ´Ï´Ù. C¿Í °ÅÀÇ ´ëµ¿¼ÒÀÌÇÕ´Ï´Ù. ÇÑ °¡Áö Â÷ÀÌÁ¡ÀÌ ÀÖ´Ù¸é ¹®ÀÚ¿­ÀÇ °æ¿ì ºñ±³ ¿¬»êÀÚ°¡ µû·Î ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ¶ó¸¶ºÏ¿¡ Àִ ǥ¸¦ º¾½Ã´Ù.

ºñ ±³ ¼ýÀÚ(Numeric) ¹®ÀÚ¿­(String)
°°´Ù == eq
°°Áö¾Ê´Ù != ne
ÀÛ´Ù < lt
Å©´Ù > gt
À۰ųª°°´Ù <= le
Å©°Å³ª°°´Ù >= ge

¼ýÀÚÀÎ °æ¿ì¿Í ¹®ÀÚ¿­ÀÎ °æ¿ì°¡ °¢°¢ µû·Î Á¸ÀçÇϱ⠶§¹®¿¡ ÁÖÀÇÇØ¼­ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ¿¹¸¦ º¸¼¼¿ä.


 30 == 30 # ÂüÀÌÁÒ?
 35 == 35.0 # ¿ª½Ã ÂüÀÔ´Ï´Ù.
 '35' eq '35.0' # °ÅÁþ ÀÔ´Ï´Ù. ¹®ÀÚ¿­ '35' ¿Í '35.0' Àº ÀüÇô ´Ù¸¥ °ÍÀÌÁÒ
 

±×·¯¸é ¹®ÀÚ¿­¿¡¼­ 'Å©´Ù', 'ÀÛ´Ù', 'Å©°Å³ª °°´Ù'´Â Àǹ̴ ¹»±î¿ä.
¾Æ½ºÅ°(ASCII) °ªÀÔ´Ï´Ù. (¾Æ½ºÅ°¿Í ¹ÙÀ̳ʸ®) ¸¸¾à ù±ÛÀÚÀÇ ¾Æ½ºÅ° °ªÀÌ °°´Ù¸é ´ÙÀ½ ±ÛÀÚ¸¦ ºñ±³ÇÕ´Ï´Ù. µû¶ó¼­ °°Àº ¹®ÀÚ·Î ½ÃÀÛµÈ´Ù¸é ±ÛÀÚ ¼ö°¡ ¸¹Àº ÂÊÀÌ ´õ 'Å«' ¹®ÀÚ°¡ µË´Ï´Ù.


 'floccinaucinihilipilification' gt 'merong' # ÂüÀÌÁÒ?
 '  ' gt '' # °ø¹é 2Ä­Àº °ø¹é 1Ä­º¸´Ù ´õ Å©´Ï±î Âü
 

¼ýÀÚ¿¡¼­¿Í ¹®ÀÚ¿­¿¡¼­ ºñ±³ ¿¬»êÀÚ°¡ ´Ù¸£´Ù´Â °ÍÀ» ²À ÁÖÀÇÇϼ¼¿ä. ==¿Í eq¸¦ À߸ø »ç¿ëÇÏ´Â °æ¿ì°¡ ¸Å¿ì ¸¹½À´Ï´Ù. ±×¸®°í ÀÌ·± ¹ö±×´Â ã±â ½±Áö ¾Ê½À´Ï´Ù. Èí»ç ==¸¦ ½á¾ß ÇÒ °÷¿¡¼­ =¸¦ »ç¿ëÇÑ ¹ö±×¸¦ ã±â°¡ Èûµç °Í°ú ¸¶Âù°¡ÁöÀÔ´Ï´Ù. ²À ÁÖÀÇÇϼ¼¿ä.

ÀÌÁ¦ ºñ±³¿¬»êÀÚ¸¦ if ±¸¹®¿¡¼­ »ç¿ëÇØ º¾½Ã´Ù.


 $myname = 'myonghon';
 if($myname eq 'myonghon') { print "This code is obviously stupid";}
 

if ´ÙÀ½ÀÇ °ýÈ£¾ÈÀÌ 'Âü'À̹ǷΠprint ±¸¹®ÀÌ ½ÇÇàµË´Ï´Ù.

À§¿Í °°Àº °æ¿ì´Â Âü,°ÅÁþÀÌ ¸í¹éÇÕ´Ï´Ù¸¸Àº ¾Ö¸ÅÇÑ °æ¿ìµµ ÀÖ½À´Ï´Ù. À̰Ͱú °ü°èµÇ´Â °ÍÀ¸·Î "ºÒ¸®¾ð º¯¼ö"(Boolean variables)°¡ ÀÖ½À´Ï´Ù. Âü ¾Æ´Ï¸é °ÅÁþ µÎ °¡Áö °ª Áß Çϳª¸¸ °®´Â º¯¼öÇüÀ» ºÒ¸®¾ð º¯¼ö¶ó°í ÇÕ´Ï´Ù. ÄûÁîÀÔ´Ï´Ù.


$zero = '0';
if($zero) { print "This is true !" }

À§ÀÇ Äڵ带 ½ÇÇàÇϸé "This is true !"°¡ Ãâ·Â µÉ±î¿ä, ¾È µÉ±î¿ä?

À§ÀÇ ÄÚµå´Â $zero°¡ 'Âü'À̸é print ±¸¹®ÀÌ ½ÇÇàµË´Ï´Ù. '°ÅÁþ'ÀÌ¸é ½ÇÇàµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ÀÌ °æ¿ì $zero º¯¼ö´Â ºÒ¸®¾ð º¯¼ö°¡ µË´Ï´Ù. Âü ¶Ç´Â °ÅÁþ µÑ ÁßÀÇ ÇϳªÀÇ °ªÀ» °®½À´Ï´Ù. À§ÀÇ Äڵ带 ½ÇÇàÇϸé print ±¸¹®ÀÌ ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. ¿Ö ±×·²±î¿ä?

¾î¶² °æ¿ì¿¡ 'Âü'ÀÌ°í ¾î¶² °æ¿ì¿¡ '°ÅÁþ'ÀÎÁö¸¦ »ý°¢ÇØ º¾½Ã´Ù. ´ÙÀ½°ú °°Àº ±ÔÄ¢ÀÌ ÀÖ½À´Ï´Ù.

  1. ¿µ(0)Àº °ÅÁþÀÌ´Ù. ±×¿Ü ¼ýÀÚ´Â ¸ðµÎ Âü.
  2. ºó¹®ÀÚ¿­ ''Àº °ÅÁþÀÌ´Ù. ±×¿Ü ¹®ÀÚ¿­Àº ¸ðµÎ Âü.
  3. ¹®ÀÚ¿­ ÇüÅ·ΠµÈ '0' ¿ª½Ã ¼ýÀÚ 0À¸·Î Ãë±ÞÇØ¼­ °ÅÁþÀÌ´Ù. (À̰ÍÀ» ÁÖÀÇÇϼ¼¿ä.)
  4. undef °ªÀº °ÅÁþÀÌ´Ù. (undef´Â º¯¼ö¿¡ ¾Æ¹«°Íµµ ÇÒ´çÇÏÁö ¾ÊÀº »óÅÂ, Áï ¾Æ¹«°Íµµ ¾ø´Â »óŸ¦ ¾ê±âÇÕ´Ï´Ù.)

¹®ÀÚ¿­ ÇüÅ·ΠµÈ '0'µµ ¼ýÀÚ 0À¸·Î Ãë±ÞµÇ¹Ç·Î À§ÀÇ ÄÚµå´Â if() ¾ÈÀÌ °ÅÁþÀÌ µÇ¾î¼­ "This is true !"°¡ Ãâ·ÂµÇÁö ¾Ê½À´Ï´Ù.

½ºÄÉÀÏ¶ó º¯¼ö¿Í °ü°èµÇ´Â ´Ù¸¥ Á¶Àý¹®À¸·Î while ±¸¹®ÀÌ ÀÖ½À´Ï´Ù. whileÀº foró·³ '·çÇÁ'(loop)¸¦ ¸¸µé ¶§ »ç¿ëÇÕ´Ï´Ù.

while (something) { do this endlessly }

somethingÀÌ 'Âü'ÀÎ ÇÑ,(while something is true...) Áß°ýÈ£ ¾ÈÀÇ ±¸¹®À» ¹«ÇÑÈ÷ ¹Ýº¹ÇÑ´ÙÀÔ´Ï´Ù. ¹°·Ð ºüÁ®³ª¿À´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.
ifÇϰí´Â ±¸ºÐÇØ¾ß ÇÕ´Ï´Ù. if´Â ÂüÀÎ °æ¿ì Áß°ýÈ£ ¾ÈÀÇ ±¸¹®À» ÇÑ ¹ø ½ÇÇàÇÏ°í ³¡ÀÔ´Ï´Ù¸¸ whileÀº '·çÇÁ'¸¦ ÇÕ´Ï´Ù. °è¼Ó ¹Ýº¹ÇÕ´Ï´Ù.

¿¹¸¦ µé¾îº¸¸é,


$count = 0;
while ($count < 10 ) {
$count += 1;
print "Ä«¿îÆ®´Â $count ÀÔ´Ï´Ù\n";
}

Á¤¸®ÇØ º¾½Ã´Ù. ½ºÄÉÀÏ¶ó º¯¼ö¿Í °ü°èµÇ´Â Á¶Àý¹®¿¡´Â if ±¸¹®°ú while ·çÇÁ°¡ ÀÖ½À´Ï´Ù. ¿©±â¿¡ °ü°èµÇ´Â ³»¿ëÀ¸·Î ºñ±³¿¬»êÀÚ, ºÒ¸®¾ð º¯¼ö¶ó´Â °ÍÀÌ ÀÖ¾ú½À´Ï´Ù. ±×¸®°í ¹®ÀÚ¿­ÀÇ °æ¿ì ºñ±³¿¬»êÀÚ°¡ µû·Î Á¸ÀçÇÑ´Ù´Â »ç½Çµµ Áß¿äÇÑ ³»¿ëÀÔ´Ï´Ù.

Áö±Ý °è½Å °÷Àº: TECH > [ÆÞ] ÆÞÀÇ º¯¼ö¿Í ½ºÄÉÀ϶ó(scalar): ¹®ÀÚ¿­ ó¸® ±×¸®°í °£´ÜÇÑ Á¶Àý¹®