목록언어/perl (9)
한땀한땀 정성들인 코딩
"뒤적거릴 문자열" =~ s/찾을 문자열/바꿀 문자열/옵션;# subst.pl $_ = "Where is my baby, Oh Baby !"; if( $count = ( s/baby/lover/ ) ) # $_ =~ s/.... 로 인정됩니다. { print "Replaced $count time(s).\n \"$_\"\n"; } else { print "Failed.\n"; } print "Fore : $`\nAft : $'\n";일반변수가 있어야 할 자리에 없으면 $_로 계산하고 if문에서는 $_=~ 로 인정이 된다.( 생략 )뒤의 Baby의 값은 봐뀌지 않는다...대문자라서? i를 옵션으로 줘도 안된다.s는 기본적으로 하나의 문자열만 치환하기 때문에 g(gloval)옵션을 부여하여야 된다. 문자의 ..
$long = "tell me what\'s up" if( $long =~ /hat/ ) # 'hat'도 가능하지만 //쓰는 것에 습관을 들이자. 정규식이란?패턴을 한 문자열안에 설정시켜주는 식 ( sql쿼리 언어의 %,_등과 비슷하다. ) /h.t/ : hat,hot,hut,hit /h*t/ : ht,hat,hot,hooot,hooooooo.....t /h+t/ : +는 1과 그이상 ( *는 0과 그이상 )/h?t/ : 0또는 1개 ^.e : he,me,regard t.e$ : toe, necktie character class h[eao]y : hey,hay,hoy[a-z] : -는 범위[a-z]+ : 소문자가 하나 또는 여러개 대소문자 무시 /hat/i # 뒤에 i붙이면 무시 "ignore case..
for문 for(1..10,"hello","world"){print;} # print($_); 와 같음# 출력결과 1234567910 hello world foreach문 foreach $elem(0..$#array) # 0~array의 끝번호까지 elem에 대입! print $array[$elem]; #배열 요소 출력하는 문장 foreach $eachkey (keys %hash){ # keys함수는 hash자료구조의 키들만을 모아 배열로 구성 print "$eachkeywt",$myhash{$eachkey},"\n"; } foreach $line (){print $line; }# 각 라인의 출력에 쓰는 foreach문 until은 while의 반대개념 next = = c언어의 continue ( 근데 ..
리눅스의 cat명령어 흉내내기 if($#ARGV 0) #인자를 하나만 받는다. {die "fail"} $filename=shift(@ARGV); #인자는 @ARGV로 오고 shift는 아마 배열을 일반변수로 형변환하는 함수인듯?
디렉토리는 하위 디렉토리, 파일들의 명세서를 담고있다.!! opendir(dirhandle,"directort name")||die "faile";@files=readdir(dirhandle);closedir dirhandle; print @files; print "@files"; #위의 차이는 사이에 공백이 들어가냐 안들어가냐의 차이
perl의 파일다루기는 매우 좋다. ( c언어의 경우 이것이 파일인지 디렉토리인지 int86x, fstat같은 시스템 같은 의존적인 함수를 이용해야한다) 문법: -X FILEHANDLE 또는 -X FILE_OR_DIR_NAME -e 파일이 존재하는가 ? (참이면 1, 거짓이면 0을 리턴합니다.) -z 파일 크기가 0인가 ? -s 파일이 0 아닌 크기를 갖는가 ? (파일의 크기를 리턴합니다.) -f 파일이 평범한 파일인가 ? -d 파일이름이 디렉토리인가 ? -T 파일이 텍스트 파일인가 ? -B 파일이 이진 파일인가 ? -M 파일이 생성된지 몇일이 되었는가 ? ( 0부터 시작 ) $filename="hello.pl"; #문자열 if( -d $filename) #파일이 디렉토리인지 검사 {die "$filen..
문자열 계산$a = "hello"."world"; #helloworld$a = "hello"*3; #hellohellohello $a = "hello";$a .= " world"; #hello world print ++($foo = '99'); #100print ++($foo = 'a0'); #a1print ++($foo = 'Az'); #Baprint ++($foo = 'zz'); #aaa 논리 연산자 $a = 1;$b = 2;$c = 0; $d = $a && $b; #2 $d = $a && $c; #0 거짓 $d = $a ||$b; #1 $d = $a || $c; #1-참/거짓은 이해되나 왜 2,1이 들어가는 기준을 모르겠다 ;; $a
perl print문 print
참고 사이트 http://www.perl.or.kr/ 한국 펄사용자 모임 되게 오래된듯 하다.. perl이란?파일로부터 데이터 추출 다시 새로운 파일 구성 하는데 좋은 언어문자열 처리에 좋다.인터프리트 언어 기계어 - 어셈블리어 - 컴퓨터 언어(c언어, java 등)기계어로 봐꿔주는 과정을 컴파일 (컴파일러)인터프리트 언어로 봐꿔주는것을 인터 프리터 java소스코드 >>-인터프리터>>> byte코드 >>-컴파일>>> 기계어 왜하냐?1. 편한 디버깅( 한줄씩 봐꾸기 때문에 )단점 : 바로 컴파일하는 것보다 느리다. perl의 변수 1.scalr variable 방향성이 없는 가변적 변수 $x = 1000; # 정수형,실수형 구분이 없는 모든 숫자는 실수형으로 저장 $x = "abc"; # 문자열로 도 변경..