#!/usr/bin/perl

use 5.010;


#1. 해시 기본 문법

#hash{$some_key}

$family_name{"barney"}="rubble";

$family_name{"fred"}="flintstone";

$family_name{hash_key}="flintstone";


foreach $person (qw<barney fred>){

print "I've heard of $person $family_name{$person}.\n";

}


#2. 해시 목록 처리

%wow_hash = ("1그룹","전냥술","2그룹","도죽마드","3그룹","성사흑");

say $wow_hash{"1그룹"};


#3. 해시 목록화

@array = %wow_hash;

say @array;

say $array[1];


#4. reverse 통해서 key value 맞바꾸기 있다. (ip <-> address변환 처리에서 자주 사용 )

%wow_reverse = reverse %wow_hash;

say $wow_reverse{"전냥술"};


#5. 해시 보기 쉽게 정의

%welcome = (

"1" => "전사",

"2" => "도적"

);

say $welcome{"1"};


#6. keys values 함수


%hash=(

"one"=>"hana",

"two"=>"dul",

"three"=>"set"

);


#7. 입력된 순서되로 유지 되지 않음에 유의 

# / 순서는 유지 된다!

@my_keys = keys %hash; # 목록 반환 - 입력한 순서대로 유지 되지 않음에 유의

@my_values = values %hash; # 목록 반환

$counts = keys %hash; #해쉬 개수 반환처리


say "@my_keys";

say "@my_values";

say $counts;


#8. 유무에 따른 거짓 구분

if(%hash){

say "yes";

}else{

say "no";

}


#9. each 함수

#

while( ($key, $value) = each %hash){

say "$key => $value";

}


#10. sort hash : key 알파벳 순으로 정렬한 것일뿐...

foreach (sort keys %hash) {

print "$_ => $hash{$_}\n";

}


#11. exists - 해당 키가 존재하는지를 확인한다.

%book=(

"dino"=>7

);

if(exists $book{"dino"}){

say "remain";

}



#12. delete 해당 삭제

say $book{"dino"};

delete $book{"dino"};

say $book{"dino"};



#13. $ENV 환경설정 출력 해시

say $ENV{WOW};


#!/usr/bin/perl

use 5.010;


#1. 이름 묻고 찾기

%hash = (

"fred"=>"flintstone",

"barney"=>"rubble",

"wilma"=>"great",

);


print "what is your name : ";

chomp($myname = <STDIN>);


print $hash{$myname},"\n";




#2. 단어 출현 횟수 구하기

chomp(@lines=<STDIN>);

foreach(@lines){

$hash{$_}+=1;

}

print "\nresult : \n";

foreach(sort keys %hash){

say "$_ ==> $hash{$_}";

}


#3. ENV키갑 나열하기

while(($key, $value) = each %ENV){

say "$key\t$value";

}

'etc > old' 카테고리의 다른 글

[FLEX] string to xml object  (0) 2011.03.09
[FLEX] ZPlayer  (1) 2011.03.07
[Perl] 5. 입력과 출력  (0) 2011.02.24
[Perl] 4장 사용자 함수  (0) 2011.02.15
[Perl] 3장 목록과 배열  (0) 2011.02.15

+ Recent posts