반응형

1. 배열


스칼라값들의 목록,독립적인 스칼라값들이므로 숫자,문자열,undef값을 가질수 있다.

But, 한 스칼라값으로 공통사용하는걸 추천

초기값은 당연히 undef




#!perl
##################################
##		Test 1
##################################
$student[0] = "Jenny";
$student[1] = "Paul";
$student[2] = "Mike";

for($i=0; $i<3; $i++)
{
	print "student[".$i."]:". $student[$i]."\n";
}

##################################
##		Test 2
##################################
$student[1] = "Jimmy";
$student[2] = "Ray";
print "\n\n----Change Array-----\n";
for($i=0; $i<3; $i++)
{
	print "student[".$i."]:". $student[$i]."\n";
}


- test 1

student라는 배열에 0번째인덱스에 Jenny, 1번째인덱스에 Paul, 2번째인덱스에 Mike를 넣었다.

- test 2

student라는 배열에 1번째인덱스에 Jimmy, 2번째인덱스에 Ray로 변경한다.




















반응형

'Programming Language > Perl' 카테고리의 다른 글

Perl - While문  (0) 2014.01.24
Perl 사용자 입력 받기  (0) 2014.01.13
Perl 비교연산자와 if제어  (0) 2013.12.27
perl 스칼라 값 할당  (0) 2013.12.24
Perl 내장경고  (0) 2013.12.24
반응형

1. While문


조건문에 해당하는 부분이 참이 되어야 실행소스가 구동됩니다.


while ( 조건문 )

 - 실행소스

 }




- 예제소스

#!perl

$count = 0;

while( $count < 20 ){
	$count += 1;
	print "count = $count\n";
}



count값이 1씩 20번 증가한걸 확인할 수 있습니다.






2. undef값

Perl에선 변수들은 값을 할당받기전 undef라는 값을 지니게됩니다.
변수가 숫자라면  이 값은 0이고,
변수가 문자열이라면 이 값은 빈문자열이 됩니다.

앞서, 반복문 예제에 count초기화부분을 제거하고
문자열 undef값을 테스트 해보기로 해요. 


- 예제소스
#!perl

//정수변수 test
while( $count < 20 ){
	$count += 1;
	print "count = $count\n";
}

print "\n\n";

//문자열변수 test
$str .= "String is null"; //str변수에 "String is null" 문자열을 추가
print $str."\n"



count값에 아무 영향이 없고, 문자열이 빈문자열로 시작하는걸 확인할수 있습니다.











반응형

'Programming Language > Perl' 카테고리의 다른 글

Perl - 배열  (0) 2014.01.27
Perl 사용자 입력 받기  (0) 2014.01.13
Perl 비교연산자와 if제어  (0) 2013.12.27
perl 스칼라 값 할당  (0) 2013.12.24
Perl 내장경고  (0) 2013.12.24
반응형

1. STDIN

끝에 줄바꿈문자(return)을 포함한 문자열이 들어올때까지 기다림

입력받은 문자의 끝에 줄바꿈 문자가 있음

#!perl
$input = ;
if( $input eq "\n"){
	print "input is blank line\n";
}
else{
	print "input is : $input\n";
}



- 빈라인 입력




- abcdefg 입력




2. chomp 연산자

STDIN으로 받은 입력문자열의 끝에 위치한 줄바꿈문자를 제거

return : 삭제한 문자의 개수

#!perl
$input = ;
print "before> input is : $input\n";
$r_num = chomp($input);
print "after> input is : $input\n";
print "remove num: $r_num\n"




- abcdefg 입력시, chomp를 하기전과 후의 줄바꿈문자가 사라진걸 확인할수 있습니다.




3. defined 함수

<STDIN>은 undef값 즉,null값을 반환하기 때문에 빈문자열인지 확인하려면 defined함수를 사용합니다. 

 

return value : 

false:undef값(즉,null) true:그외값




#!perl
$input = ;
if( defined($input)){
    print "input is : $input\n";
}
else{
    print "input is blank line\n";
}


- 빈문자열테스트



- 그외 테스트














반응형

'Programming Language > Perl' 카테고리의 다른 글

Perl - 배열  (0) 2014.01.27
Perl - While문  (0) 2014.01.24
Perl 비교연산자와 if제어  (0) 2013.12.27
perl 스칼라 값 할당  (0) 2013.12.24
Perl 내장경고  (0) 2013.12.24
반응형

1. 비교연산자


비교

 숫자

 문자열

 같음

== 

eq 

 같지 않음

!= 

ne 

 작음

lt 

 큼

gt 

 작거나 같음

<= 

le 

 크거나 같음

>= 

ge 



2. if 제어


- if

만약 ~라면


 if( 조건문 ) 




- else

if 외 다른 선택이 필요하다면

     

  if( 7 != 2+5 ){

print("case 1\n");

}

 else{

print("case 1 besides\n");

 }





#숫자-같지않음
if( 7 != 2+5){
    print("7 != 2+5 true\n");
}
else{
	print("7 != 2+5 false\n");
}
#숫자-같음
if( 7 == 2+5){
    print("7 == 2+5 true\n");
}
else{
	print("7 == 2+5 false\n");
}
#문자열-작음(<)
if( 'banana' lt 'apple'){
	print("'banana' lt 'apple' true\n");
}
else{
	print("'banana' lt 'apple' false\n");
}
#문자열-큼(>)
if( 'banana' gt 'apple'){
	print("'banana' gt 'apple' true\n");
}
else{
	print("'banana' gt 'apple' false\n");
}
#문자열-같음(==)
if( 'banana' eq 'apple'){
	print("'banana' eq 'apple' true\n");
}
else{
	print("'banana' eq 'apple' false\n");
}

















반응형

'Programming Language > Perl' 카테고리의 다른 글

Perl - While문  (0) 2014.01.24
Perl 사용자 입력 받기  (0) 2014.01.13
perl 스칼라 값 할당  (0) 2013.12.24
Perl 내장경고  (0) 2013.12.24
스칼라 데이터  (0) 2013.12.19
반응형

1. 스칼라 값 할당

다른 언어와 할당하는건 별반 다르지 않습니다.

#!perl
$age = 18;          #정수 할당
print("\$age = 18;          ---->".$age."\n");

$str = 'Hello';     #문자열 할당
print("\$str = 'Hello';     ---->".$str."\n");

$str = $age + 5;    #$age의 현재값에 5를 추가하여 str에 할당
print("\$str = \$age + 5;    ---->".$str."\n");

$str = $str * 2;    #$str의 현재값에 2를 곱한값을 할당
print("\$str = \$str * 2;    ---->".$str."\n");




2. 스칼라 이원할당 연산자

#!perl
# 더하기
$age = $age + 5;    # 이원할당자 미사용
$age += 5;          # 이원할당자 사용

#곱하기
$age = $age * 2;    # 이원할당자 미사용
$age *= 2;          # 이원할당자 사용

#문자열
$str = $str . " ";  # 이원할당자 미사용
$str .= " ";        # 이원할당자 사용


















반응형

'Programming Language > Perl' 카테고리의 다른 글

Perl 사용자 입력 받기  (0) 2014.01.13
Perl 비교연산자와 if제어  (0) 2013.12.27
Perl 내장경고  (0) 2013.12.24
스칼라 데이터  (0) 2013.12.19
Perl 윈도우 설치  (0) 2013.12.18
반응형

1. warnings

개발자를 위한 경고메시지


문자열을 숫자로 잘못 취급했을경우를 예제로 사용

 

 use warnings;

 $a = 33f8r;








2. diagnostics

warnings(경고)에 대한 더욱 상세한 설명


똑같이 문자열을 숫자로 잘못 취급했을경우를 예제로 사용

 

 use diagnostics;

 $a = 33f8r;







실행속도 향상을 위해 경고를 이해하기 힘들때 이외엔 사용하지 않는것을 추천.



펄 실행시, 옵션을 이용해 간편하게 사용도 가능

 

 perl -Mdiagnostics ./a.pl
















반응형

'Programming Language > Perl' 카테고리의 다른 글

Perl 사용자 입력 받기  (0) 2014.01.13
Perl 비교연산자와 if제어  (0) 2013.12.27
perl 스칼라 값 할당  (0) 2013.12.24
스칼라 데이터  (0) 2013.12.19
Perl 윈도우 설치  (0) 2013.12.18
반응형

1. 간단하게 출력하기


펄스크립트에선 print대신 say을 사용해도 됩니다.(use 5.010; 명령어를 입력하지 않는다면 에러가 발생합니다.)



use 5.010;


say "Hello World!";










2. 주석


 

그냥 주석 :        파운드기호( # )으로 시작

특별한 주석 :    첫번째줄의 가장 처음이 #! 이면 그다음은 프로그램명

                         이 경우, 이 프로그램을 이용하여 파일의 나머지 부분을 실행(펄프로그램의 경로를 입력)










3. 스칼라


펄에서 하나의 값을 가지는 것을 스칼라라 합니다. 


가) 숫자


부동소수점 상수


 2.33

 3.15e25 # 3.15 곱하기 10의 25승

 -30e-4 # -30 곱하기 10의 -4승





정수상수


 3

 2013

 -20

 1234567

 1_234_567   #위의 1234567 정수를 가독성있게 표현




십진수외 정수상수

 

 0255         #8진수 255

 0xff                 #16진수 FF

 0b11111111 #10진수 255




숫자연산자


 1 + 5   # 1 더하기 5

 2.7 - 2        # 2.7 빼기 2

 2 * 12   # 2 곱하기 12

 6 / 2           # 6 나누기 2 








나) 문자열


작은따옴표(')로 묶은 문자열 상수

 

 'alice'

 'I\'m so happy'       # 작은따옴표(')를 문자열에 넣을경우 역슬래시 앞에 추가



큰따옴표(")로 묶은 문자열 상수


 "rabbit"

 "He say, \"Hello\" "    # 큰따옴표(")를 문자열에 넣을경우 역슬래시 앞에 추가




문자열 연산

( 연결 )  

문자열값은 . 연산자로 연결할수 있습니다. 


  "hello" . " world"

  "hello" . " " . "world" 




( 문자열 반복 )

문자열값은 x 연산자로 반복할 수 있습니다. 

 "alice" x 3        # alicealicealice




















반응형

'Programming Language > Perl' 카테고리의 다른 글

Perl 사용자 입력 받기  (0) 2014.01.13
Perl 비교연산자와 if제어  (0) 2013.12.27
perl 스칼라 값 할당  (0) 2013.12.24
Perl 내장경고  (0) 2013.12.24
Perl 윈도우 설치  (0) 2013.12.18
반응형

1. Perl ManPage


 http://learn.perl.org/faq/perlfaq2.html




2. perl스크립트의 인기있는 프로그래머 텍스트 편집기

가) UNIX

- emacs

- vi


나) 윈도우

- UltraEdit

- gvim (윈도우용 vi에디터)

- notepad++

- PFE (Programmer's Favorite Editor)



3. 윈도우상에서 Perl프로그램 실행해보기 


UNIX상에서, vi로 이미  테스트해보았지만, 윈도우상에서도 도전해보기로 합니다.


가)Perl 배포본 2가지

per ManPage에선 다음 2개의 Perl배포본을 추천하고 있습니다.


- StrawberryPerl http://strawberryperl.com/ )

MS VC++을 이용하여 컴파일


- ActivePerl http://www.activestate.com/activeperl )

오픈소스 컴파일러인 gcc를 이용하여 컴파일



4. StrawberryPerl 설치


국내에선 StrawberryPerl이 강세인듯 하니, 이걸 설치해봅니다.

32비트 추천버전인 5.18.1.1 버전을 다운받아 설치해봅니다. ( http://strawberryperl.com/ )







설치과정입니다.







생각보다 설치시간이 걸립니다. 대략, 6분정도 걸렸네요.







5. Perl 설치 확인




cmd.exe를  실행시켜 커맨드창에서 perl가 제대로 설치되었는지 확인합니다.

설치된 perl의 버전을 알아보는 커맨드입니다. 


 perl -v





이제 자신이 편한 에디터를 이용하여, 개발자에게 ㄱ자와 같은 "hello world"를 출력해봅시다. 

전 vi를 너무 사랑하는 관계로 Gvim을 사용하여 해보도록 하겠습니다. 

Gvim설치는 다음 url을 참고하세요. ( http://stormaa.tistory.com/78 )




< hello.pl >

 

print "Hello, World!\n"











cmd창에서 방금만드 hello.pl이 있는 경로에서 다음과 같이 실행합니다.


 perl hello.pl






이와 같은 방법으로 perl를 실행시켜보세요~















반응형

'Programming Language > Perl' 카테고리의 다른 글

Perl 사용자 입력 받기  (0) 2014.01.13
Perl 비교연산자와 if제어  (0) 2013.12.27
perl 스칼라 값 할당  (0) 2013.12.24
Perl 내장경고  (0) 2013.12.24
스칼라 데이터  (0) 2013.12.19

+ Recent posts