목록펄 (22)
꿈 많은 사람의 이야기
펄에는 해시라는 요소가 있습니다. 해시는 key 와 value 쌍으로 이루어진 값이죠. 쉽게 설명하면 일종의 인덱스입니다. 김씨는 ㄱ 칸에서, 이씨는 ㅇ 칸에서 찾는 뭐 그런거죠 해시는 %로 시작합니다. 이런 그림으로 진행할거에요! fred라는 큰 틀안에 키, 값을 넣을겁니다. 그럼 fred를 만들어볼까요? %fred = ( ); 끝입니다. 해시를 만들었어요 이제 값을 넣으면 되죠 1 2 3 4 5 6 7 $fred{"aaa"} = "bbb";#배열과는 접근하는 방법이 다르다. 배열은 []로 접근하고, 넣을땐 ()로 넣었. #해시에 값을 넣는 방법. $fred{234.5} = 456.7; #키 "234.5", 값 456.7 print($fred{234.5}."\n"); #출력하는 방법. $로 접근해서 출..
펄 배열 2번째 이야기를 시작합니다. 몇몇 특징과, push, pop에 대해서 볼까해요! 먼저 아래와 같은 특징이 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 @who = (qw(fred array soojin lee))[2,3]; #이런식으로 잘라서 넣을 수도 있다. print($who[0].", ".$who[1]."\n "); @fred = (7,8,9); @barney = (2,1,0); @backfred = @fred[@barney]; #barney가 2,1,0 이니까 $fred[2] 와 같은 값이 들어간다. -> 슬라이스로 들어가게됨 #@fred[2,1,0] 또는 ($fred[2], $fred[1], $fred[0]), 또는 (9,8,7) 과 동일하다. for($i = ..
펄에는 배열이란것이 있습니다.(거의 모든 언어가 다 있지만..) 배열이란 것은 연속된 메모리 공간에 변수를 담아두는 겁니다. 예를 들어 $a $b 를 선언하면 연속된 메모리 공간이 아닌 멀리 떨어진 메모리 공간에 저장될 수 있습니다. 하지만 배열로 선언하면 연속적으로 붙어 있게 되죠. 펄에서 배열을 사용하는 방법은 @arr = () 처럼 사용하게 됩니다. @는 배열이라는 일종의 표시에요 1 2 3 4 5 6 7 8 9 10 @words = ("camel", "llama", "ap"); #배열은 위와 같이 @로 시작하고 값을 넣게 된다. #push, pop으로 값을 넣을 수도 있다. #만약 인용부호를 안두고 작성하는 방법은 @word2 = qw(camel llama ap); #로 하면 된다고 한다. #그리..
펄에도 다른 언어와 마찬가지로 주석이 있죠! 주석은 프로그램적으로 실행되는 것이 아니라 일종의 설명을 써놓는 부분입니다. 2가지 방법이 있습니다 1줄 주석과 여러줄 주석! 한줄 주석은 # 으로 시작해요! 여러줄 주석은 =pod =cut 으로 진행됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 =pod 이것은 펄의 여러 줄 주석이다. 펄은.. 그냥 Larry라는 사람이 쉽게 간편하게 사용할 수 있게 스스로 만든 언어이다. 귀차니즘이 많은 프로그래머였음 펄은 함수 혹은 클래스와 같은 루틴으로 실행되는 것이 아니라, 파일에 있는 Perl문 전체가 실행될 하나의 큰 루틴이다. 즉, C에서와 같은 main루틴은 없다. Perl은 인터프리터 + 컴파일러 라고 한다. 인터프리..
펄에도 역시 조건문(if)문이 있습니다! 다른 언어랑 비슷해요 if~else로 구성되어 집니다! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 print("당신의 이름은? \n"); $name = ; #사용자가 입력하는 방법이다. print $name; #근데 $name의 값은 종료하는 뉴라인 하나를 갖는다. -> aab라고 입력하면 aab\n이 된다.이것을 제거 하기 위해 chomp함수를 사용한다. #chomp함수는 스칼라 변수를 그것의 유일한 인수로 받아서 만약 존재한다면 변수의 문자열 값에서 뒤에 오는 뉴라인을 제거한다. chomp($name); print("Hello $name! \n"); #이런식으로 출력이 가능하다. if($name eq "soojin"){ #eq는 문자..
펄에도 마찬가지로 반복문이 있습니다. while, for문 2가지가 있어요. 그리고 for문은 여러 형태가 있는데 2가지를 알려드릴까 합니다~ 먼저 while문이에요. 다른 언어와 마찬가지로 진행되죠! 1 2 3 4 5 6 7 8 $count = 0; while($count
펄에선 변수들이 값을 할당 받기 전에는 undef 라는 값으로 설정되어 있습니다. 즉 초기화 하지 않으면 undef값을 가지고 있다는 거죠! 그래서 변수를 확인할 때 이 undef를 체크하는 함수를 가지고 변수 즉 스칼라가 값이 있는지, 없는지 판단할 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 #perl에선 변수들이 값을 할당 받기 전에는 undef라는 값을 지니게 된다. #그래서 if(defined($input)) 과 같이 undef인지 확인해야 한다. $str; if(defined($str)){ print("값이 없음 \n"); #얘가 출력이 된다. }else{ print("값이 있음 \n"); } Colored by Color Scripter cs 이렇게 말이죠!
펄에도 사용자에게 입력 받는게 당연히 있습니다~ scanf()함수나, Java의 Scanner 클래스를 이용해 입력 받는것과 같은 원리죠! 살짝 좀 손이 더 많이 가긴 합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #그리고 사용자에게 입력 받는 방법이 있다. # my $s; print "input any key"; $s = ; #키보드에서 문자열 입력 print "input key = ".$s; chomp($s); #문자열 끝의 개행문자 제거 if($s){ print("뭔가를 입력했군!"); }else{ print("입력을 안했다(엔터키만 눌렀다)"); } cs $s 스칼라변수에 을 이용해 키보드로부터 문자열을 입력 받습니다. 그리고 거의 콤보로과 chomp( ) 함수를 같이 ..
펄에 대해서 자세하게 설명하기 전에 그냥 기본적으로 맛보기 소스를 봐볼게요~ 펄의 변수는 스칼라라고 부르더라구요. 숫자를 넣으면 숫자가, 문자열을 넣으면 문자열이 되는데요 이 변수는 $로 선언해요. 자바는 int, String 등이고 자바스크립트는 var 등 jsp는 뭐 java니까 똑같고 파이썬은 그냥 선언하고 등등 그거와 마찬가지로 펄에선 $로 선언합니다. 1 2 3 4 $age = 18; print("age = 18 출력 ---------->".$age."\n"); print("age = 18 출력! $age"); cs 이렇게요~ 펄에서 문자열을 이어주는 방법은 . 으로 이용해요! 다른 언어에선 + 로 이어주는것도 많은데 펄은 . 을 이용합니다. 위에서 처럼요~ 1 2 3 4 5 6 $str = "..
너무 오랜만에 펄 정리를 쓰네여 지난 번 까지 펄을 이클립스, 아파치랑 연동했는데요 이제 아파치 서버를 구동시켜서 펄 웹페이지를 띄어보겠습니다! 먼저 아파치를 실행해야겠죠?? 실행합니다. 그리고 이제 아파치 폴더에 다른 폴더를 하나 만듭니다. 전 아래 사진처럼 했어요 c드라이브 -> Apache24 -> htdocs 안에 perl 폴더를 만들었습니다. 자 그럼 아래 소스를 기반으로 펄 파일을 생성합니다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #!C:\Perl64\bin\perl.exe @array = (); for($i = 0 ; $i