³¯Â¥: 1996-04-09 | ±Û¾´ÀÌ: µµ¾Æ | 8897 ¹ø | ÇÁ¸°Æ® | ¸ÞÀϷκ¸³»±â

Á¦ 9°­ - ¿¬°ü¹è¿­


ÆÞ¿¡¼­ Á¦°øÇÏ´Â ¾ÆÁÖ À¯¿ëÇÑ º¯¼ö°¡ ¿¬°ü¹è¿­ÀÌ´Ù. »ç½Ç °³Ã¼ÁöÇâ ¾ð¾î¿¡¼­ °³Ã¼ÀÇ Æ¯¼ºÀ» ÀúÀåÇÏ´Â ¹æ¹ýÀÌ ¿¬°ü¹è¿­ÀÌ´Ù. ÆÞÀº ÀÌ ¿¬°ü¹è¿­À» ±âº» º¯¼ö·Î Á¦°øÇÑ´Ù.

¿¬°ü¹è¿­Àº ÀϹݹ迭 ó·³ ¼ýÀÚ¿¡ÀÇÇØ ÂüÁ¶ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó "Å°"¸¦ ÀÌ¿ëÇؼ­ "°ª"À» ÂüÁ¶ÇϰԵȴÙ. ¿ä¾à

%(¹éºÐÀ² ±âÈ£)
Àüü ¹è¿­À» ÂüÁ¶ÇÑ´Ù.
{ }(Áß°ýÈ£)
"Å°"¸¦ »ç¿ëÇÑ´Ù.
$
{ }¿Í ÇÔ²² »ç¿ëµÉ ¶§, ÀÌ °ÍÀº "Å°"·Î ÂüÁ¶ÇÑ ¹è¿­ ¿ä¼ÒÀÇ °ªÀÌ´Ù.
¼³¸í

ÀϹÝÀûÀÎ ¹è¿­ ¿ä¼Ò´Â ¼ýÀÚ¿¡ÀÇÇØ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. @food¶ó´Â ¹è¿­ÀÇ Ã¹¹ø° ¿ä¼Ò´Â $food[0]ÀÌ°í, µÎ¹ø° ¿ä¼Ò´Â $food[1]ÀÌ´Ù. ±×·¯³ª ÆÞÀº ¹®ÀÚ¿­¿¡ÀÇÇØ ¹è¿­¿ä¼Ò¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â ¹è¿­À» Á¦°øÇÑ´Ù. À̵éÀ» ¿¬°ü¹è¿­À̶ó°í ÇÑ´Ù.

¿¬°ü¹è¿­À» Á¤ÀÇÇϱâÀ§ÇØ Åë»óÀûÀÎ µÕ±Ù°ýÈ£¸¦ »ç¿ëÇÏÁö¸¸, ¹è¿­¸í¿¡ % ±âÈ£¸¦ ºÙÀδÙ. »ç¶÷°ú À̵éÀÇ ³ªÀ̸¦ ¹è¿­·Î ÀúÀåÇÑ´Ù°í °¡Á¤ÇÏÀÚ. ÀÌ °ÍÀº ´ÙÀ½°ú °°Àº °ÍÀÌ´Ù.

%ages = ("±èÈñ¼±", 22,
         "±èÈñ¾Ö", 34,
         "̵ȍ", 27,
         "²¿¸¶", "°­¾ÆÁö ³ªÀÌ·Î 21",
         "¿©¿Õ", 108);

ÀϹݹ迭À» ÇÒ´çÇÏ´Â °Í°ú µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ¿¬°ü¹è¿­À» ÇÒ´çÇÒ ¼öµµ ÀÖÁö¸¸ ÀÌ °æ¿ì¿¡´Â Å°¿Í °ªÀÇ ¿¬°ü°ü°è°¡ ¸íÈ®ÇÏÁö ¾ÊÀ¸¹Ç·Î ½°Ç¥(,)´ë½Å¿¡ =>¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

ÁÖÀÇ ÀÌ ¹æ¹ýÀº Perl 5¿¡¼­¸¸ Áö¿øµÈ´Ù.

%ages = ("±èÈñ¼±" => 22,
         "±èÈñ¾Ö" => 34,
         "̵ȍ" => 27,
         "²¿¸¶" => "°­¾ÆÁö ³ªÀÌ·Î 21",
         "¿©¿Õ" => 108);

ÀÌÁ¦ »ç¶÷µéÀÇ ³ªÀ̸¦ ã±âÀ§ÇØ ´ÙÀ½ Ç¥Çö½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

print "$ages{'±èÈñ¼±'}\n";	# 22¸¦ ¸®ÅÏ
print "$ages{'±èÈñ¾Ö'}\n";	# 34¸¦ ¸®ÅÏ
print "$ages{'õ»ç'}\n";	# 27À» ¸®ÅÏ
print "$ages{'²¿¸¶'}\n";	# "°­¾ÆÁö ³ªÀÌ·Î 21"À» ¸®ÅÏ
print "$ages{'¿©¿Õ'}\n";	# 108À» ¸®ÅÏ

ÀÏ¹Ý ¹è¿­°ú ¸¶Âù°¡Áö·Î % ±âÈ£´Â °³°³ÀÇ ¿ä¼Ò¸¦ ÂüÁ¶ÇÒ ¶§ $·Î º¯°æµÈ´Ù(°³°³ÀÇ ¿ä¼Ò´Â ½ºÄ®¶óÀ̹ǷÎ). ÀϹݹ迭°ú´Â ´Þ¸® ÂüÁ¶(ÀÌ °æ¿ì¿¡ »ç¶÷ÀÇ À̸§)´Â Áß°ýÈ£¸¦ »ç¿ëÇÑ´Ù. ¿¬°ü¹è¿­À̶ó´Â °³³äÀº ÀϹݹ迭º¸´Ù ³¸¼±°³³äÀÌÁö¸¸ ¾ÆÁÖ À¯¿ëÇÑ °³³ä´Ù. ¿¬°ü¹è¿­ÀÇ Ãß°¡, º¯°æ

ÀÌ¹Ì ¼±¾ðµÇ¾îÀÖ´Â ¿¬°ü¹è¿­¿¡ °ªÀ» Ãß°¡ÇϱâÀ§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ ÇØ´çµÇ´Â Å°¿¡ °ªÀ» ´ëÀÔÇÏ¸é µÈ´Ù.

$ages{'±èÈñ¼±'} = '23';
$ages{'ÆÃÆÃÀÌ'} = '25';
$newhash{'º¸¶÷ÀÌ'} = '26';
print "±èÈñ¼±: $ages{'±èÈñ¼±'}\n";
print "ÆÃÆÃÀÌ: $ages{'ÆÃÆÃÀÌ'}\n";
print "º¸¶÷ÀÌ: $newhash{'º¸¶÷ÀÌ'}\n";

¿¬°ü¹è¿­¿¡ °ªÀ» ÇÒ´çÇϸé ÆÞÀº ÀÏ´Ü ÇØ´çµÇ´Â Å°°¡ ÀÖ´Â °¡¸¦ Á¶»çÇÑ´Ù. ¸¸¾à ÇØ´çµÇ´Â Å°°¡ ÀÖÀ¸¸é °ªÀ» º¯°æÇÏ°í ¾øÀ¸¸é »õ·Î¿î Å°=>°ªÀ» »ý¼ºÇϰԵȴÙ.

¶ÇÇÑ ÆÞÀº º¯¼ö¸¦ µû·Î ¼±¾ðÇÏÁö ¾Ê°í »ç¿ëÇÏ´Â ½ÃÁ¡¿¡¼­ »ç¿ëÇÏ¸é µ¿ÀûÀ¸·Î »ý¼ºµÈ´Ù. µû¶ó¼­ À§ÀÇ ¿¹¿¡¼­´Â %newhash¶ó´Â ¿¬°ü¹è¿­À» »õ·Î »ý¼ºÇϰԵȴÙ. ¿¬°ü¹è¿­°ú ÀϹݹ迭ÀÇ º¯È¯

¿¬°ü¹è¿­Àº ¿¬°ü¹è¿­À» ÀϹݹ迭¿¡ ÇÒ´çÇÔÀ¸·Î¼­ ÀϹݹ迭·Î º¯È¯ÇÒ ¼ö ÀÖ´Ù. ÀϹݹ迭Àº ÀϹݹ迭À» ¿¬°ü¹è¿­¿¡ ÇÒ´çÇÔÀ¸·Î¼­ ¿¬°ü¹è¿­·Î º¯È¯ÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÀϹݹ迭Àº ¦¼öÀÇ ¹è¿­¿ä¼Ò¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù.

@info = %ages;		# @infoÀº ÀϹݹ迭.
			# ÀÌÁ¦ 10°³ÀÇ ¿ä¼Ò¸¦ °®´Â´Ù.
print "@info\n";
print "$info[5]\n";	# ÀϹݹ迭 @info·ÎºÎÅÍ 27À» ¸®ÅÏÇÑ´Ù.
%moreages = @info;	# %moreages´Â ¿¬°ü¹è¿­ÀÌ´Ù.
			# ÀÌ°ÍÀº %ages¿Í µ¿ÀÏÇÏ´Ù.
print "$moreages{'±èÈñ¼±'}\n";
Å°¿Í °ªÀÇ »óÈ£±³È¯

¿¬°ü¹è¿­Àº Å°¿¡ÀÇÇØ °ªÀ» ÂüÁ¶Çϱ⠶§¹®¿¡ Å°¸¦ °ªÀ¸·Î, °ªÀ» Å°·Î º¯È¯ÇÏ´Â °æ¿ì´Â °ÅÀÇ ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ¶ÇÇÑ ÆÞÀº ÀÌ¿Í °°Àº ¿¬»êÀÚ¸¦ Á¦°øÇÏÁö ¾Ê´Â´Ù. ±×·¯³ª ¾Õ¼­¹è¿î ÀϹݹ迭·ÎÀÇ º¯È¯°ú reverseÇÔ¼ö¸¦ ÀÌ¿ëÇϸé Å°¿Í °ªÀ» »óÈ£ ±³È¯ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.

%reverse = reverse @info;

print $reverse{'22'};	# ±èÈñ¼±À» ¸®ÅÏ
¿¬»êÀÚ

¿¬°ü¹è¿­Àº ¹è¿­¿ä¼Ò¿¡ ¾î¶°ÇÑ ¼ø¼­µµ °¡Áö°í ÀÖÁö ¾Ê´Ù(À̵éÀº Çؽ¬¿Í °°´Ù). ±×·¯³ª keys¿Í values ÇÔ¼ö¸¦ »ç¿ëÇؼ­ Â÷·Ê·Î ¸ðµç ¿ä¼Ò¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.

foreach $person (keys %ages)
{
    print "ÇÊÀÚ´Â $personÀÇ ³ªÀ̸¦ ¾Ë°í ÀÖ´Ù.\n";
}

foreach $age (values %ages)
{
    print "$age»ìÀÌ´Ù.\n";
}

keys¸¦ È£ÃâÇÏ¸é ¿¬°ü¹è¿­ÀÇ Å° ¸ñ·ÏÀ» ¸®ÅÏÇÑ´Ù. values¸¦ È£ÃâÇÏ¸é ¿¬°ü¹è¿­ÀÇ °ªÀÇ ¸ñ·ÏÀ» ¸®ÅÏÇÑ´Ù. À̵é ÇÔ¼ö´Â µ¿ÀÏÇÑ ¼ø¼­·Î ÀÌµé ¸ñ·Ï¸¦ ¸®ÅÏÇÏÁö¸¸ À̵éÀÇ ¼ø¼­´Â ÀÌµé ¿ä¼Ò°¡ ÀÔ·ÂµÉ ¶§(¶Ç´Â ÇÒ´çµÉ ¶§)ÀÇ ¼ø¼­¿Í ÀüÇô ¹«°üÇÏ´Ù.

keys¿Í values°¡ ½ºÄ®¶óȯ°æ¿¡¼­ È£ÃâµÇ¸ç ¿¬°ü¹è¿­³»ÀÇ Å°/°ªÀÇ ½ÖÀÇ ¼ö¸¦ ¸®ÅÏÇÑ´Ù. ¶ÇÇÑ Å°¿Í °ªÀÇ µÎ ¿ä¼Ò¸¦ ¸®ÅÏÇÏ´Â eachµµ Á¸ÀçÇÑ´Ù. each°¡ È£ÃâµÉ ¶§¸¶´Ù ´Ù¸¥ Å°/°ªÀÇ ½ÖÀÌ ¸®ÅϵȴÙ.

while (($person, $age) = each(%ages))
{
    print "$person is $age\n";
}
°ü·Ê

¿¬°ü¹è¿­Àº ¾ÆÁÖ À¯¿ëÇÑ °³³äÀÌÁö¸¸ ÀϹݹ迭°úÀÇ ÂüÁ¶»óÀÇ Â÷ÀÌ ¶§¹®¿¡ ¸¹Àº È¥¶õÀ» ¾ß±âÇÑ´Ù.

µû¶ó¼­ ÀÌ·¯ÇÑ È¥¶õÀ» ÃÖ¼ÒÈ­ÇϱâÀ§Çؼ­´Â °¡±ÞÀû ¿¬°ü¹è¿­ÀÇ ¹è¿­¸íÀº ´ë¹®ÀÚ¸¦ »ç¿ëÇÏ´Â ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ȯ°æº¯¼ö

UNIX¿¡¼­ ÆÞ ÇÁ·Î±×·¥À» ½ÇÇàÇϰųª ÀÓÀÇÀÇ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¶§ ƯÁ¤ÇÑ È¯°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù. À̵éÀº »ç¿ëÀÚÀÇ À̸§À» Æ÷ÇÔÇÏ´Â USERÀÏ ¼öµµ ÀÖÀ¸¸ç, ±×·¡ÇÈ È­¸éÀ» Àü¼ÛÇÒ È­¸éÀ» ÁöÁ¤ÇÏ´Â DISPLAYÀÏ ¼öµµ ÀÖ´Ù. WWW¿¡¼­ ÆÞ CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¶§¿¡µµ ´Ù¸¥ À¯¿ëÇÑ Á¤º¸¸¦ Æ÷ÇÔÇϴ ȯ°æº¯¼ö°¡ Á¸ÀçÇÑ´Ù. ÀÌ·¯ÇÑ ¸ðµç ȯ°æº¯¼ö¿Í °ªÀº %ENV¶ó´Â ¿¬°ü¹è¿­¿¡ ÀúÀåµÇ¸ç, À̶§ Å°´Â ȯ°æº¯¼öÀÇ À̸§ÀÌ´Ù. ÆÞ ÇÁ·Î±×·¥¿¡¼­ ´ÙÀ½°ú °°Àº °ÍÀ» ½ÇÇàÇغ¸±â ¹Ù¶õ´Ù.

print "$ENV{'USER'}À̸ç ";
print "$ENV{'DISPLAY'}¸¦ Ãâ·ÂÀ¸·Î »ç¿ëÇÏ°í ÀÖ´Ù.\n";
¿¬°ü¹è¿­ °ü·Ã ÇÔ¼ö keys(%ARRAY)

%ARRAY³»ÀÇ ¸ðµç "Å°"ÀÇ ¸ñ·ÏÀ» ¸®ÅÏÇÑ´Ù. ÀÌ ¸ñ·ÏÀº ·£´ýÇϸç, ¼ø¼­´Â ³»ºÎÀûÀ¸·Î »ç¿ëµÈ Çؽ¬ÇÔ¼ö¿¡ ÀÇÁ¸ÇÑ´Ù.

foreach $key (keys %ENV) {
	print "$key = $ENV{$key}\n";
}
values(%ARRAY)

%ARRAY³»ÀÇ ¸ðµç "°ª"ÀÇ ¸ñ·ÏÀ» ¸®ÅÏÇÑ´Ù.

@key = keys %ENV;
@value = values %ENV;
while($#key >= 0) {
	print pop(@key), ' = ', pop(@value), "\n";
}
each(%ARRAY)

%ARRAY·Î ÀÌ ÇÔ¼ö°¡ È£ÃâµÉ ¶§¸¶´Ù ¿¬°ü¹è¿­ ³»ÀÇ ´ÙÀ½ "Å°/°ª" ½ÖÀ¸·Î ±¸¼ºµÈ µÎ°³ÀÇ ¿ä¼Ò¸¦ °®´Â ¸ñ·ÏÀ» ¸®ÅÏÇÑ´Ù.

while(($key, $value) = each %ENV) {
	print "$key = $value\n";
}
delete($ARRAY{KEY})

ARRAY·ÎºÎÅÍ KEY¿Í ¿¬°üµÈ "Å°/°ª"ÀÇ ½ÖÀ» Á¦°ÅÇÑ´Ù.

delete($ENV{USER});
foreach $key (keys %ENV) {
	print "$key = $ENV{$key}\n";
}
¿¬½À

ÇöÀç ½Ã½ºÅÛ¿¡ ¼³Á¤µÇ¾î ÀÖ´Â ¸ðµç ȯ°æº¯¼ö¸¦ Ãâ·ÂÇÏ´Â CGI ÇÁ·Î±×·¥À» ÀÛ¼ºÇ϶ó. ¿¬½À - ¹æ¸í·Ï

for ¹®°ú ¿¬°ü¹è¿­À» ÀÌ¿ëÇؼ­ »ç¿ëÀÚÀÇ ÀԷµ¥ÀÌŸ¸¦ µðÄÚµù Çϵµ·Ï guest.cgi¸¦ º¯°æÇÑ´Ù.

µðÄÚµùÇÏ´Â ºÎºÐÀº ´ÙÀ½°ú ºñ½ÁÇÒ °ÍÀÌ´Ù.

@query = split(/&/, $query);
for(0..$#query) {
	# +¸¦ °ø¹éÀ¸·Î º¯È¯
	$query[$_] =~ s/\+/ /g;
	($key, $value) = split(/=/, $query[$_]);

	# %HH Çü½ÄÀ» À©·¡ÀÇ Æ¯¼ö ¹®ÀÚ·Î º¯È¯
	# ÀÚ¼¼ÇÑ ¼³¸íÀº ¹®ÀÚ¿­ ÀÏÄ¡, ´ëÄ¡¿Í º¯È¯, CGI ÀÔ·Â µðÄÚµùÀ» ÂüÁ¶ÇÑ´Ù.
	$key =~ s/%(..)/pack("c", hex())/ge;
	$value =~ s/%(..)/pack("c", hex())/ge;
	$FORM{$key} = $value;
}

À§ÀÇ ·çƾÀ» ¼öÇàÇÏ¸é »ç¿ëÀÚÀÇ ÀԷµ¥ÀÌŸ´Â %FORMÀ̶ó´Â ¿¬°ü¹è¿­¿¡ ÀúÀåµÈ´Ù. µû¶ó¼­ $FORM{name1}°ú °°Àº Çü½ÄÀ¸·Î <FORM> µ¥ÀÌÅ͸¦ ÂüÁ¶ÇÒ ¼ö ÀְԵȴÙ.



´ÙÀ½±Û: Á¦ 10°­ - ´ÙÂ÷¿ø ¹è¿­ (6311)1996-04-10
ÀÌÀü±Û: Á¦ 8°­ - Split (7837)1996-04-08

¼¼»ó»ç´Â À̾߱â



RSS ±¸µ¶ (À͸í | ȸ¿ø | °­Á | Æ÷·³)
(C) 1996 ~ 2017 QAOS.com All rights reserved.