프로그래밍

 3198, 1/160 회원가입  로그인  
   wsh
   [perl] 문법에 관한질문

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2989 [복사]


안녕하세요

제가 perl 공부를 책을사서 하는게 아니고 인터넷 뒤져서 하고있습니다.
그런데 인터넷에 올려논 소스를 보게되었는데요
이해가 안되는분이 잇어서 질문을 합니다

$size = 256 if $bw && !$size;

($bw = int($size / $delay * 8)) if ($delay && $size);

이런소스가있습니다.
$size 변수에 256를 넣는건데 왜 마지막에 ; 가없고 바로 if문이 나오는지 이해가 되지 않아서
검색도해보고 생각도 해밧는데 모르겟습니다.

  Hit : 3480     Date : 2011/05/09 10:55



    
7evenLeaf 펄은 자연어 중심적으로 만들려고 많은 노력을 한 언어입니다.
예를 하나 들어보죠,

$i = 1;
print "ABC" if($i == 1);

이런 문장이 있다고 가정하고, 해석 해보면
ABC를 출력하라, 만약 i값이 1 이면, 이 됩니다.

영어문법이랑 똑같죠? 펄은 Larry Wall 이 만들어서요,

$size = 256 if $bw && !$size;

이 문장도 해석해보면,
$size 라는 스칼라 변수에 256값을 넣어라, 만약 $bw가 참이고, $size가 거짓이면
이 되겠네요,
($size가 정의되어 있지 않고, $bw에 값이 있으면 이라고 해석해도 될것 같네요)

($bw = int($size / $delay * 8)) if ($delay && $size);

이 문장도 마찬가지로, 앞에 것이 실행되기 전에 $delay, $size에 값이 있는지
체크하고, 앞의 문장을 실행하려는 의도입니다.


제가 잘은 모르지만 나름 아는대로 썻는데,
틀린 부분이 있을 수 도 있으니,
너무 믿진 마시구, 열공하세요 ~
2011/05/10  
wsh 답변해주셔서 감사합니다..
제가 정리하자면
$size = 256 if $bw && !$size;
이것은
if($bw && !$size)
{
$size =256;
}
이거 군요..
2011/05/11  
7evenLeaf 네, 바로 그겁니다~ 2011/05/11