반응형

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
반응형

리눅스 시스템에서 작업을 하다보면 간혹 메모리가 부족하여 시스템이 버벅거리는 경우가 발생한다.

그럴때 free 명령어로 메모리 상태를 출력해보면 보통 캐쉬쪽에 메모리가 많이 할당되어있는것을 볼 수 있다

# free
                    total        used       free    shared     buffers    cached
Mem:      16425800    1786268   14639532          0     147028    1052388
-/+ buffers/cache:     586852   15838948
Swap:            0          0          0 

 

 

캐쉬 메모리를 해제하여 다른 프로세서에서 메모리를 바로 사용 가능하도록 하기 위해

캐쉬 메모리를 강제로 해제하려면 root에서 아래의 커맨드를 입력해보자.

# echo 3 > /proc/sys/vm/drop_caches

 

 

cached가 줄고, free가 늘어난것을 볼 수 있다.

# echo 3 > /proc/sys/vm/drop_caches
# free
                    total       used       free    shared     buffers    cached
Mem:      16425800     738168   15687632          0       1036     331852
-/+ buffers/cache:     405280   16020520
Swap:            0          0          0

 

 

 

 

 

 

 

 

반응형

+ Recent posts