perl 간명 튜토리얼perl 튜토리얼 집합

참고:http://shouce.jb51.net/perl5/
사이트 환경 구성:https://www.jb51.net/article/74005.htm
Perl의 기본 구문입니다https://www.jb51.net/shouce/Perl.htm
선언:perl은 무엇입니까, 무엇에 쓰입니까?perl은 원래 디자이너의 의도는 문자를 처리하는 데 사용되었다. 80%의 강점은 문자를 처리하는 것이다. 물론 다른 것은 매우 많다.현재 많은 웹 페이지도perl을 사용하고 있으며, 통상적으로 CGI 환경이 필요합니다. 예를 들어 $char=~/언어/는'언어'라는 두 글자가 포함된 문자열을 찾는 것을 의미합니다.유닉스와 linux 시스템 관리, 파일 내용 처리 (awk와sed 등 도구를 기반으로 하는 기능), 그리고 당신이 하고 싶은 일들도 많이 할 수 있습니다.
1.perl 환경 설정
1.perl 가져오기
Perl은 보통/usr/local/bin/perl 또는/usr/bin/perl에 있습니다.너는 인터넷에서 익명의 FTP로 그것을 무료로 얻을 수 있다. 예를 들어ftp://prep.ai.mit.edu/pub/gnu/perl-5.004.tar.gz
2. 설치 절차:
(1) 압축 풀기:
      $gunzip perl-5.004.tar.gz
      $tar xvf - (2) 컴파일:
      $make makefile
(3) 배치:
컴파일된 실행 가능한 파일을 실행 가능한 파일이 있는 디렉토리로 복사합니다. 예:
      $copy /usr/local/bin/perl
3. 실행
텍스트 편집기로 Perl 프로그램을 편집하고 실행 가능한 속성을 추가하십시오: $chmod +x 하면 실행할 수 있습니다: $./.만약 시스템이 "/usr/local/bin/perl not found"라고 힌트를 준다면, 설치에 성공하지 못했음을 설명합니다. 다시 설치하십시오.
주: 프로그램의 첫 줄은 #!/usr/local/bin/perl (perl 위치).
4 주석:
주석 메서드는 다음과 같이 문장의 시작 부분에 문자 #을 사용합니다.
      # this line is a comment
주: 자주 주석을 사용해서 프로그램을 쉽게 읽을 수 있도록 권장합니다. 이것은 좋은 프로그래밍 습관입니다.
2. 상량, 변수 등 문제
1. 큰따옴표와 큰따옴표
따옴표 안의 문자열은 $text = "This text contains the number $number"와 같은 간단한 변수 대체를 지원합니다.
이중 따옴표 내의 문자열에서 이스케이프 문자 지원
큰따옴표 문자열과 큰따옴표 문자열은 두 가지 차이가 있는데 하나는 변수 교체 기능이 없다는 것이고, 다른 하나는 반사선이 의미 문자를 지원하지 않는다는 것이다.
2. 반복 및 연결
중복: print "t"x 5 (5 개의 t가 출력됩니다. 주의: 그중 x는 영문자 소문자 x)
연결: $a. = "bc"(연결에 해당)
3. 단순 변수, 배열, 목록
단순 변수: $a="hello"와 같은 $로 선언합니다.
수조: @ 성명, 예를 들어 @arr=('a','b','c');
목록: 목록은 괄호 안에 포함된 일련의 값으로 모든 값이나 비어 있을 수 있습니다. 예를 들어 (1, 5.3, "hello", 2), 비어 있는 목록: ()
3. 파일 작업
1. 파일 열기: 예를 들어 open(MYFILE, "file1") | | die("Could not open file");MYFILE은 선언된 파일 핸들이고 file1은 파일 이름/파일 경로입니다. 전체 코드는 열 수 없으면 "Could not open file"를 출력합니다.
파일 닫기: 파일 작업이 끝나면 close(MYFILE);파일을 닫습니다.
2. 파일 읽기
문장 $line = ;파일에서 데이터를 읽어 단순 변수 $line에 저장하고 파일 포인터를 뒤로 이동합니다.은 표준 입력 파일이며 일반적으로 키보드에 입력되며 열 필요가 없습니다.
문장 @array = ;파일의 모든 내용을 수조 @array로 읽고 파일의 줄마다 (리턴 문자 포함) @array의 요소입니다.

#!/usr/bin/perl
open(MYFILE,'1.txt');
@arr = <MYFILE>;
print @arr;
3. 파일 쓰기
형식:
     open(OUTFILE, ">outfile");
     print OUTFILE ("Here is an output line.");
참고: stdOUT, stdERR은 표준 출력 및 표준 오류 파일로 보통 화면이며 열 필요가 없습니다.
4. 파일 상태 판단
1. 파일 테스트 연산자
문법: - op expr, 예:
    if (-e "/path/file1") {
    print stdERR ("File file1 exists.");
    }
파일 테스트 조작부호
조작부호
묘사
-b
블록 장치인지 여부
-c
문자 장치인지 여부
-d
디렉토리
-e
존재 여부
-f
일반 파일인지 여부
-g
setgid 비트 설정 여부
-k
sticky 비트 설정 여부
-l
기호 링크 여부
-o
파일 소유 여부
-p
파이프 여부
-r
읽을 수 있는지 여부
-s
비활성 여부
-t
터미널 표시 여부
-u
setuid 비트 설정 여부
-w
쓰기 가능 여부
-x
실행 가능 여부
-z
빈 파일인지 여부
-A
마지막 방문 시간
-B
바이너리 파일인지 여부
-C
마지막으로 파일에 접근한 inode로부터 얼마나 걸립니까
-M
마지막 수정 시간
-O
진정한 사용자에게만 소유되는지 여부
-R
진정한 사용자만 읽을 수 있는지 여부
-S
소켓
-T
텍스트 파일인지 여부
-W
진정한 사용자만 쓸 수 있는지 여부
-X
실제 사용자만 수행할 수 있는지 여부
주: "진짜 사용자"는 로그인할 때 지정한userid를 가리키며, 현재 프로세스 사용자 ID와 상대적으로, 명령 suid는 유효한 사용자 ID를 변경할 수 있습니다.
예:
    unless (open(INFILE, "infile")) {
    die ("Input file infile cannot be opened.");
    }
    if (-e "outfile") {
    die ("Output file outfile already exists.");
    }
    unless (open(OUTFILE, ">outfile")) {
    die ("Output file outfile cannot be opened.");
    }
... 과 같다
    open(INFILE, "infile") && !(-e "outfile") &&
    open(OUTFILE, ">outfile") || die("Cannot open files");
4. 패턴 일치:
1. 개념: 패턴은 문자열에서 찾은 특정한 서열의 문자를 가리키며 반사선에 포함된다:/def/즉 패턴def.그 용법은 함수 split와 결합하여 문자열을 어떤 모드로 여러 단어로 나눈다: @array = split (/, $line).
2. 일치하는 조작부호 = ~,!~
= ~ 일치 여부를 확인합니다: $result = $var = ~/abc/;이 문자열에서 이 모드를 찾으면 0이 아닌 값, 즉true, 일치하지 않으면 0, 즉false.! ~반대로
5. 제어 구조
(1), 조건판단:if()elseif()else();
(2), 순환:
1. while 순환
2. until 순환
3. for 순환
4. 목록 (수조) 각 요소에 대한foreach 순환

open(MYFILE,'1.txt');
@arr = <MYFILE>;
foreach $str (@arr){
 print $str;
}
5. 도 순환
6. 순환 제어: 순환을 종료하는 것은last로 C의break작용과 같다.다음 순환은next로 실행되며 C의continue와 작용합니다.PERL 특유의 명령은 redo이다. 그 의미는 이번 순환을 반복하는 것이다. 즉, 순환 변수가 변하지 않고 순환의 시작점으로 돌아가는 것이다. 그러나 redo 명령은 도 순환에서 작용하지 않는다는 것을 주의해야 한다.
7. 전통적인 goto 문장: goto label;
(3), 단일 행 기준
문법은statement keyword condexpr입니다.그 중에서 keyword는 if, unless, while 또는 until입니다. 예를 들어:
    print ("This is zero.") if ($var == 0);
    print ("This is zero.") unless ($var != 0);
    print ("Not zero yet.") while ($var--> 0);
    print ("Not zero yet.") until ($var-- == 0);
조건판단은 뒤에 적지만 먼저 집행한다.
6. 서브루틴
(1), 정의
하위 프로그램은 특수한 임무를 수행하는 분리된 코드로 중복 코드를 줄이고 프로그램을 쉽게 읽을 수 있다.PERL에서 하위 프로그램은 프로그램 어디에나 나타날 수 있습니다.정의 방법은 다음과 같습니다.
  sub subroutine{
    statements;
  }
(2), 호출
호출 방법은 다음과 같다.
       &subname;
       ...
       sub subname{
          ...
       }
7. 파일 시스템: 유닉스와 밀접한 관계를 가진다. 참고:http://shouce.jb51.net/perl5/perl11.htm
OTHER:
파이프: 이전 실행 결과를 다음 매개 변수로 사용할 수 있습니다. 예를 들어
env | grep EDITOR
환경 변수에서 EDITOR 값을 삭제할 수 있습니다.

좋은 웹페이지 즐겨찾기