NOWS/Perl 7

day 7.

Hash (해시) [참고] 해시에 대한 설명 : http://emzei.tistory.com/128해시 변수해시 함수keysvalueseachdelete해시 슬라이스 해시 요소는 특별한 순서가 없음(키, 밸류) 해시 변수 해시변수이름 형식퍼센트기호가 맨 앞에 붙고 뒤에는 문자를 비롯한 숫자, 언더스코어를 붙임해시 요소 생성해시요소에 할당하면 새로운 요소 생성예) %alice 해시에 새로운 요소 추가 하는 경우, $alice{"key"} = "value"; # 키 "key" 에 해당하는 값 "value" 생성 $alice{"key"}를 사용하면 해당하는 값("value")로 대체존재하지 않는 요소의 참조는 undef 리턴 해시의 리터럴 $alice{"abc"} = "bbb";$alice{"hello"} =..

NOWS/Perl 2016.02.04

day 6.

각종 제어문Statementif / unlesswhile / untilforforeach Statement 중괄호로 둘러싸인 것 { ... }Statement 내의 마지막 문의 세미콜론은 생략 가능 if / unless if (expression) {true_expr; true_expr; true_expr;} else {false_expr; false_expr; false_expr;}참/거짓을 판단하기 위해서, 스칼라 구문을 문자열로 변환하여 판단함참(true) / 거짓(false) 예시0"0"으로 변환 --> 거짓1-10으로 계산한 뒤, "0"으로 변환 --> 거짓1"1"으로 변환 --> 참" "공백문자열 --> 거짓"1"공백이거나 "0"이 아니므로 참"00" 공백이거나 "0"이 아니므로 참"0.000..

NOWS/Perl 2016.02.02

day 5.

블로그 스킨이 새로 떴길래 바꿨어요. 깔끔해서 좋네요. 배열, 리스트 데이터 (이어서..)배열 함수 배열 요소 엑세스(접근) 숫자 인덱스로 배열의 요소를 액세스하는 Substring 함수 이용 가능숫자 인덱스 대신 리터럴 정수도 사용 가능 (ex. $x=1 을 1 대신 사용하는 것)예) @alice = (1,2,3); $b = $alice[0]; $alice[0] = 9; # @alice = (9,2,3);요소 간 교환 가능예) @alice = (9,8); ($alice[0],$alice[1]) = ($alice[1], $alice[0]); # @alice=(8,9);배열 슬라이스예) @alice = (qw(apple banana choco))[0,1]; # @x = qw(apple banana choc..

NOWS/Perl 2016.02.01

day 4.

day 4. 음 멀짜야 빨리 늘까..펄..펄...배열리스트 데이터 배열 : 리스트를 담는 변수리스트 : 순서가 있는 스칼라 데이터 (Order) 리스트 리터럴 괄호() 안에 쉼표, 로 구분리스트의 요소는 상수일 필요도 없음. (재계산 가능한 식 OK)예) (1,2,3) ;("alfred", 4, 5);($alice, 1,2,3);($alice+$bob, $cat);공백리스트 : () 리스트 구성자두 개의 스칼라 값을 두 개의 마침표로 구분해서 표현 ".." : 왼쪽에서 오른쪽으로 증가왼쪽 스칼라 값보다 오른쪽 스칼라가 작을 경우, 공백리스트 문자열이 많은 리스트는 qw()를 이용하면 편함 (quote word 줄임말)예)(1 .. 5) # (1,2,3,4,5)와 동일(1.1 .. 5.1) # (1.1, ..

NOWS/Perl 2016.01.27

day 3.

Today is- 스칼라 데이터 스칼라 데이터가장 간단한 데이터 (문자열 혹은 숫자) 값은 연산자로 실행 (예. 덧셈. 뺄셈)파일과 장치로 부터 read/write 가능 숫자내부적으로 배정밀도 부동소수점수 값으로만 계산 (즉, 정수 값 없음)부동소수점 리터럴(상수) 허용 문자열"no built-in limits"최소 : 아무것도 없는 문자열최대 : 메모리를 다 채우는 문자열주의 (``) 역인용부호를 사용하는 문자열 ==> 외부 명령어명령 실행 후 결과를 출력으로 돌려받음리터럴 문자열과 다름('') 단일인용부호 문자열문자열 포함안됨문자열의 시작과 끝을 구분할 수 있음문자열 내에 ' 사용 시 앞에 \(역슬래시)를 둠문자열 내에 \ 사용 시 앞에 \를 둠 (escape character)\n 은 개행으로 인식..

NOWS/Perl 2016.01.07

day 2.

day2. spero spera :) '아직 개요...' 다양한 입력 포맷 이용하기if($name =~ /^Randal\b/i/){ print "Hello, Randal! How good of you to be here!\n"; 정규표현식/(슬래시)로 구분cf. =~ : 정규표현식과 스칼라변수 값이 일치하는 경우\b : 앞의 문자열을 거부 (ex. 'Randal'문자열 거부)/i : 대소문자 구분 없음\W : 비단어 문자(알파벳, 숫자, 언더스코어를 제외한 어떤 문자)s 연산자 : 대입연산자tr 연산자 : 소문자로 변환 #!/usr/bin/perl -w print "What is your name? ";$name=;chomp($name);$original_name = $name;$test = $name;..

NOWS/Perl 2016.01.06

day 1.

nutshell 시리즈 따라서 공부하기, 1일차 Perl Script : Perl 문과 정의의 묶음을 파일에 집어 넣은 것 Perl 시작 #!/usr/bin/perl 주석 : 파운드기호(#) 이용, (No multiple-line comment) Examples : Hello World#!/usr/bin/perl -w print ("Hello, world!\n");#!/usr/bin/perl -w-w : warning (추가적인 경고메시지 생성)print(); : 내장함수 Examples : 스칼라 변수를 이용한 Hello World#!/usr/bin/perl -wprint "What is your name?";$name=;chomp($name);print "Hello, $name\n"; $name : ..

NOWS/Perl 2016.01.05