#!/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 |