1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo Trình Ngôn ngữ lập trình Perl

20 414 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

1.Lịch sử của Perl Ngày 18101987 Larry Wall tác giả của ngôn ngữ này lần đầu tiên đưa Perl vào sử dụng tại nhóm usenet comp.sources . Ngôn ngữ này phát sinh từ C và chịu ảnh hưởng bởi các ngôn ngưx khác như BASIC, awk, sed và UNIX Shell. Perl là viết tắt của PracticalExtraction and Report Language. Mục đích ban đầu là tạo ra các bản báo cáo nhanh chóng và dẽ dàng. 2. Các đặc trƣng của Perl Các ngôn ngữ và công cụ lập trình hiện nay rất nhiều, vì thế rất nên biết rõ điểm mạnh và điểm yếu riêng của từng ngôn ngữ để có thể tùy chọn với những ứng dụng cụ thể. Ngoài ra một trong những mục đích củabản báo cáo này là viết về Perl cho cả các đối tượng đã có nền tảng là C hay Shell. Cho nên cần phải phân tích các đặc trưng của Perl. 2.1 Perl là một trình thông dịch Chương trình Perl được dịch đọc trọn vẹn và lưu trữ ở hình thức trung gian trước khi chương trình này được thực hiện. Tuy nhiên tốc độ xử lý sê không bằng các ngôn ngữ biên dịch như C hay C++ 2.2 Xử lý text rất mạnh Do có nhiều toán tử cũng như hàm để hỗ trợ riêng cho xử lý text nên Perl khác biệt với các ngôn ngữ khác là có tính chất xử lý text rất mạnh, có thể xử lý dễ dàng những tác vụ giống như C hoặc UNIX shell thường làm trong việc viết một Script nhưng có thể ngắn gọn và đơn giản hơn

 Giáo Trình Ngôn ngữ lập trình Perl MỤC LỤC Trang Chƣơng I: Cú pháp, tập lệnh, kiểu liệu Các phần tử ngôn ngữ Perl Các kiểu liệu sở Các câu lệnh điều khiển 15 Chƣơng II: Vào / liệu Nhập liệu vào 24 Xuất liệu 25 Chƣơng III: Mảng, danh sách hash Danh sách (List) 30 Mảng 30 Mảng liên kết (Hash) 34 Chƣơng IV: Chƣơng trình 1.Khái niệm .37 Cách gọi hàm 37 Trả lại giá trị cho hàm 38 Biến cục hàm 38 Truyền tham số cho hàm .39 Hàm đệ qui 40 Chỉ định thứ tự xếp 41 Một số hàm đặc biệt Perl 42 Chƣơng V: Tệp (file) Khái niệm tệp 44 Các thao tác 44 Kiểm tra tệp 46 Một số hàm xử lí tệp 49 Một số hàm cho thư mục(Directory) 51 Chƣơng VI: Xâu xử lý văn Perl Toán tử đối sánh 53 Các kí tự đặc biệt khuôn mẫu 53 Tuỳ chọn khuôn mẫu đối sánh 57 Toán tử thay 58 Toán tử truyền đạt .59 Khuôn mẫu đối sánh mở rộng 59 Các Hàm split() join() .60 Index A - List mã nguồn tập tần suất từ 62 Index B - Nhúng Perl vào C cấp nhớ động cho Perl .70 Index C - Vài nét PHP sở Perl 74 Index D - Tài liệu tham khảo 76 CHƢƠNG - VÀI NÉT VỀ NGÔN NGỮ LẬP TRÌNH PERL 1.Lịch sử Perl Ngày 18/10/1987 Larry Wall tác giả ngôn ngữ lần đưa Perl vào sử dụng nhóm usenet comp.sources Ngôn ngữ phát sinh từ C chịu ảnh hưởng ngôn ngưx khác BASIC, awk, sed UNIX Shell Perl viết tắt Practical-Extraction and Report- Language Mục đích ban đầu tạo báo cáo nhanh chóng dẽ dàng Các đặc trƣng Perl Các ngôn ngữ công cụ lập trình nhiều, nên biết rõ điểm mạnh điểm yếu riêng ngôn ngữ để tùy chọn với ứng dụng cụ thể Ngoài mục đích củabản báo cáo viết Perl cho đối tượng có tảng C hay Shell Cho nên cần phải phân tích đặc trưng Perl 2.1 Perl trình thông dịch Chương trình Perl dịch đọc trọn vẹn lưu trữ hình thức trung gian trước chương trình thực Tuy nhiên tốc độ xử lý sê không ngôn ngữ biên dịch C hay C++ 2.2 Xử lý text mạnh Do có nhiều toán tử hàm để hỗ trợ riêng cho xử lý text nên Perl khác biệt với ngôn ngữ khác có tính chất xử lý text mạnh, xử lý dễ dàng tác vụ giống C UNIX shell thường làm việc viết Script ngắn gọn đơn giản 2.3 Perl có cú pháp giống C Shell tích hợp với C Perl C ngôn ngữ lập trình phổ biến Mỗi ngôn ngữ có điểm mạnh điểm yếu riêng C ngôn ngữ lập trình vạn năng, có tính thích nghi khả chuyển cao, cho phép can thiệp sâu vào hệ thống Hơn tốc độ biên dịch tốc độ chạy ứng dụng viết C nhanh ổn định Trong Perl chạy chậm hơn,nhưng lại mạnh xử lý văn bản, điều mà ngôn ngữ C không hỗ trợ nhiều Hơn 80% người bắt đầu học Perl làm quen với C C++ Cho nên dễ học Perl Perl tận dụng tới thư viện C ngược lại(trong số điều kiện định)Perl từ version 5.0 tích hợp dễ dàng với ứng dụng viết C C++ Đối với Shell, ngôn ngũ script UNIX, Perl giống ngôn ngữ cú pháp lẫn hàm Tuy nhiên có vài điểm khác biệt đáng quan tâm Một điểm khác biệt lớn cách hoạt động Perl Shell Perl không ngôn ngữ phiên dịch Chương trình Perl dịch đọc trọn vẹn lưu trữ hình thức trung gian trước chương trình thực Chương trình Shell đọc thi hành lần lệnh Điều mang lại lợi ích cho chương trình viết Perl so với chương trình viết Shell: + Đầu tiên chương trình Perl chạy nhanh nhiều so với chương trình Shell Đó biên dịch Perl kiểm tra cú pháp gỡ giải trước bắt đầu thực mã + Thứ hai, bạn lo lắng chương trình Shell lớn làm ngưng nửa chừng việc thực thi lỗi cú pháp, tất mã phân tích trước bắt đầu làm việc Perl có tính cho phép bạn lập trình máy dời đến khác mà không cần phải thay đổi 2.4 Perl phát huy sức mạnh tối đa UNIX Các nhà quản trị hệ thống phát triển ứng dụng UNIX thường phải dùng tới số ngôn ngữu lập trình khác để hoàn tất tác vụ cần thực Ví dụ để xử lý file UNIX ta phải viết đoạn Shell script sử dụng sh awk hay grep, để biên tập file cần dùng đến shed Để can thiệp sâu vào hệ thống UNIX, ta lại phải dùng nhiều đến C Chính nảy sinh nhu cầu cần sử dụng ngôn ngữ vừa dễ viết, dễ phát triển, lại vừa xử lý cách có hiệu nhiều tác vụ rong Perl lại ngôn ngữ mạnh UNIX Nó chứa toán tử cung cấp hầu hết hàm mà người lập trình muốn thực môi trường UNIX Chính thế, bên cạnh C, Perl ngôn ngữ cộng đồng Phần mềm mã nguồn mở sử dụng rộng rãi giới Những người biết rõ ngôn ngữ lập trình awk không ngạc nhiên Perl mượn nhiều đặc sắc awk Perl bao gồm vài đặc tính hay C, sed, ngôn ngữ Shell UNIX bash tcsh 2.5 Perl chạy môi trƣờng khác - UNIX PERL chạy môi trường Unix - PERL FOR WINDOWS NT chạy môi trường Windows NT -WIN PERL chạy môi trường Windows 95/ Windows 98 2.6 Perl ngôn ngữ đa nhiệm Perl tối ưu hóa cho xử lý văn Trong phiên thời, Perl bao gồm nhiều tính bổ sung lập trình socket, tích hợp với C Từ phiên 5.0, có thêm hướng đối tượng Mặc dù, ta hay nghe nói Perl để lập trình cho web, thực tế Perl ngôn ngữ lập trình hệ thống mạnh Unix 2.6 Perl ngôn ngữ thích hợp với CGI Socket 2.6.1 Các CGI script Perl ngôn ngữ thông dụng để tạo ứng dụng CGI(Common Gateway Interface) Có hàng nghìn ví dụ lập trình CGI động Perl Perl sử dụng để tạo trang Web động Một ứng dụng phổ biến Perl Internet xử lý mẫu nhập vào, hầu hết văn 2.6.2 Lập trình Socket Perl có khả tới đọc/ghi TCP/IP socket Chẳng hạn, Perl dùng để viết chương trình tự động kiểm tra địa IP để xác minh tính hợp lệ trang Web Điều đặc biệt hữu ích việc cập nhật trang Web 2.6.3 Xử lý email Các chương trình Perl sử dụng để lọc email dựa vào địa nội dung, tự động xếp danh sách email(mailling lists) Một số web mail tiếng http://www.hotmail.com với hầu hết trang có dạng *.cgi 2.7 Perl có tiện ích hỗ trợ việc gỡ lỗi Trình thông dịch Perl có sẵn trình gỡ rối, giúp giảm bớt thời gian dùng đến gỡ lỗi ứng dụng Trình gỡ rối kích hoạt thường xuyên nhờ sử dụng tùy chọn - d biên dịch Ngoài ra, - w cung cấp tập hợp đầy đủ cảnh báo 2.8 Perl ngôn ngữ lập trình mã nguồn mở Perl phân phối theo phép công cộng GNU Vì ta nhiều hỗ trợ Chẳng hạn liên hệ trực tiếp với Larry nhóm hỗ trợ Perl trực tuyến toàn giới, liên lạc thông qua nhóm tin Usenet comp.lang.perl gửi yêu cầu tới perlusers-request@virgina.edu Cấu trúc chương trình Perl Ta nhìn vào chương trình đơn giản thể yếu tố Perl Đó chương trình “Hello.pl”: Dòng giống câu nói chương trình Perl Nó lời thích cho Perl Bởi thích Perl giống thích Shell Bất kì nằm dấu thăng (#) tới cuối dòng thích Không có khái niệm thích nhiều dòng C Dòng thứ hai toàn phần thực chương trình Tại thấy câu lệnh print Từ khoá print bắt đầu chương trình, có đối, xâu văn kiểu C Bên xâu này, tổ hợp kí tự \n biểu thị cho kí tự dòng mới; hệt C Câu lệnh print kết thúc dấu chấm phẩy (;) Giống C, tất câu lệnh đơn giản kết thúc chấm phẩy* Nhưng chương trình Perl bao gồm tất câu lệnh perl tệp lấy tổ hợp chung trình lớn cần thực Không có khái niệm trình “chính” main C.(điều giống Shell) Khi gọi chương trình này, phần lõi gọi thông dịch Perl, phân tích câu toàn chương trình (hai dòng, kể dòng thích đầu tiên) thực dạng dịch Thao tác thực toán tử print, điều gửi đối lối Sau chương trình hoàn tất, tiến trình Perl ra, cho lại mã thành công cho lớp vỏ CHƢƠNG 1: CÚ PHÁP, TẬP LỆNH, CÁC KIỂU DỮ LIỆU Phần 1: Các phần tử ngôn ngữ Perl Tập kí tự 26 chữ hoa A, B, C, , Z 26 chữ thường a, b, c, , z 10 chữ số 0, 1, , kí hiệu toán học + - * / = dấu ngăn cách , : ; dấu cách kí tự khác _ ? < > [ ] { } ~ ! @ # $ % ^ & * ( ) Các kí hiệu khác dùng tong xâu thích Từ khoá Dưới liệt kê số từ khoá thông dụng Perl : if else until elsif for while next foreach sub print unless die printf sort my select binmode while Tên (định danh – identifier) Tên khái niệm quan trọng, dùng để xác định đại lượng khác chương trình Chúng ta có tên hằng, tên biến, tên mảng, tên hàm, tên tệp, tên cấu trúc, tên nhãn, Tên Perl đặt theo quy tắc sau : dãy kí tự liền gồm chữ số dấu gạch _, tên không bắt đầu số hay dấu gạch dưới, không chứa kí tự đặc biệt Ví dụ: Tên : a1 a_2 xau Tên sai : 1tu sai bắt đầu chữ số m&n sai có chứa kí tự & hai tu sai sử dụng dấu cách if sai trùng với từ khoá Tuy nhiên có hai kiểu tên đặc biệt Perl gắn liên với hai kiểu liệu biến vô hướng mảng Tên biến vô hướng bắt đầu $ Tên mảng bắt đầu @ Chú ý :Tên Perl có độ dài tuỳ ý có phân biệt chữ hoa với chữ thường Vì tên Pi khác tên PI pI 4.Cách ghi lời giải thích Khi lập trình cần có thêm lời giải thích ghi để làm cho chương trình dễ đọc, dễ hiểu mà không gây ảnh hưởng đến làm việc chương trình Các lời giải thích Perl bắt đầu kí tự # tất nằm sau # cuối dòng lời giải thích.Mọi thứ đằng sau # dịch chương trình bị bỏ qua: ví dụ: $a=; #Nhap vao gia tri a print "So cua nhap va la : $a\n"; # In so vua nhap man hinh 5.Câu lệnh dấu chấm câu Một chương trình gồm nhiều câu lệnh, câu lệnh thực công việc Các câu lệnh phải ngăn cách dấu ; 6.Một số chƣơng trình đơn giản viết Perl Ví dụ 1: In hình dòng chữ Learning Perl is very good #!/usr/bin/perl print “Learning Perl is very good”; Ví dụ 2:In lời chào #!/usr/bin/perl print “Ban ten la gi ?”; $a=; chomp($a); print “\nChao ban $a”; Phần II: Các kiểu liệu sở Các kiểu liệu 1.1 Biến Dữ liệu chứa máy tính biến : Biến đại lượng thay đổi giá trị Hằng đại lượng có giá trị không thay đổi 1.1.1 Hằng kí hiệu Hằng kí hiệu cách thức biểu diễn liệu mã chương gốc chương trình vào cho trình biên dịch Perl Hằng kí hiệu động :giống dấu phẩy động C Ví dụ : 1.25 # 1/4 7.25e45 # 7,25 x 1045 (một số dương lớn) -6.5e24 # -6,5 x 1024 (một số âm lớn) -12e-24 # -12 x 10-24 (một số âm nhỏ) -1.2E-23 # tương tự số trên: -1,2 x 10-23 Hằng kí hiệu nguyên : Các kí hiệu nguyên ghi trực tiếp Ví dụ : 12 15 -2004 3485 Không nên đứng đầu bắng chữ số Perl hỗ trợ cho hệ số tám hệ số mười bắt đầu chữ số Ví dụ : 0377 # 377 hệ tỏm = 255 hệ thập phõn -0xff # õm FF hệ mười = -255 hệ thập phõn 1.2 Kiểu số nguyên Kiểu nguyên Perl lưu trữ máy dạng số thực dấu chấm động Do kiểu nguyên Perl có dải giá trị lớn, với dải giá trị thực dấu chấm động mà máy xử lý Các kí hiệu nguyên viết dãy chữ số 0, 1, kí tự đầu dấu + dấu – hay dấu Ví dụ : $x = 987 $y = -123 $z = 12345678987766565 số lớn Cũng C, Perl cho phép bạn biẻu diễn nguyên dạng hệ hay 16 Hệ có chữ số đầu, nguyên hệ 16 bắt đầu 0x 0X hệ 10 hệ hệ 16 198 0306 0xC6 1.3 Kiểu số thực Có dải giá trị khoảng từ E-309 đến E+308 Tuy nhiên máy xử lý với khoảng 16 hay 17 chữ số có nghĩa, thao tác với số qua lớn không nhận giá trị mong muốn Ví dụ : 9.01e+21 + 0.01 - 9.01e+21 Sẽ cho ta giá trị trình cộng 9.01e+21 + 0.01 máy bỏ bớt số chữ số nên kết nhận 9.01e+21 Cách biểu diễn thực C dạng bình thường dạng có phần số mũ 1.23 4.56e-10 1.4 Kiểu xâu Xâu dãy kí tự.Mỗi kí tự giá trị bit Có hai loại xâu Perl : 1.4.1 Xâu nháy kép Là dãy kí tự đặt hai dấu nháy kép Ví dụ : “Day la mot xau” “Day cung_la xau?” Trong xâu nháy kép có dấu sổ chéo ( \ ) kí tự để xác định kí tự điều khiển Bảng sau liệt kê số kí tự điều khiển Kí tự Giải thích \a Đổ chuông, BELL \b Xoá trái \cn Kí tự Ctrl + n \e Escape \E Kết thúc \L, \U, \Q \f Báo hết trang \l Chuyển kí tự thành chữ thường \L Tất kí tự chuyên thành chữ thường \n Chuyển sang dòng \r Về đầu dòng \t Tab \u Chuyển kí tự thành chữ hoa \U Tất kí tự chuyên thành chữ hoa \007 Kí tự ASCII hệ (007 = bíp) \” Kí tự “ \\ Kí tự \ \v Nhẩy cách đứng Ví dụ : Chúng ta muốn có xâu có dấu ngoặc kép bên thĩ xâu đầy đủ “ dau \” ngoac kep\” ” “ chu \U hoa ” -> chuyển xâu thành “ chu HOA ” Ngoài bạn sử dụng cách viết sau để biểu diễn kí tự bảng mã ASCII : \xnn với nn giá trị số viết dang hệ 16 kí tự bảng mã ASCII \xnnn với nnn giá trị số viết dang hệ kí tự bảng mã ASCII Ví dụ : \377 biểu diễn kí tự thứ hay đổ chuông (bell) 10 \xff biểu diễn kí tự thứ 255 hay EOF 1.4.2 Xâu nháy đơn Perl cho phép bạn sử dụng xâu hai dấu nháy đơn ví dụ : „day la xau nhay don‟ Khác với xâu nháy kép, xâu nháy đơn đặt nhiều dòng kí tự điều khiển tác dụng ngoại trừ hai trường hợp dấu „ dấu \ Ví dụ : Xâu nháy đơn Xâu nháy kép „ho ten nguyen van a‟ “ho ten\nnguyen van a” „tab \t‟ “tab \t” „don\‟t‟ “don‟t” “so cheo : \\‟ “so cheo : \” Một khác biệt xâu nháy đơn xâu nháy kép biến đặt xâu nháy kép cho giá trị biến, càon xâu nháy đơn không 1.4.3 Một số phép toán dối với xâu a Lặp lại xâu Dùng toán tử x Ví dụ $mau = “xanh” x 2; hay $mau x= “xanh”; # cho ta $mau = “xanhxanh” b Nối xâu Dùng toán tử Ví dụ $hoten = “Nguyen” “ An”; # cho ta $hoten = “Nguyen An” c Một số hàm cho xâu index (s1, s2) s1, s2 biểu thức xâu kí tự Hàm cho ta vị trí xâu s2 gặp xâu s1 rindex (s1, s2) hàm tương tự hàm index, nơi bắt đầu tìm kiếm cuối xâu s1 length(st) hàm cho ta độ dài xâu kí tự st pos(st) vị trí khuôn mẫu đối sánh xâu substr(st, pos, len) trả lại giá trị xâu gồm len kí tựđược tách từ xâu st, vị trí pos xâu 11 lc(st) chuyển đổi tất kí tự xâu st chữ thường uc(st) chuyển đổi tất kí tự xâu st chữ hoa lcfirst(st) chuyển đổi kí tự xâu st chữ thường ucfirst(st) chuyển đổi kí tự xâu st chữ hoa quotemeta(st) trả lại giá trị xâu kí tự thêm dấu \ vào trước kí tự từ xâu st join(joinstr, list) trả lại giá trị xâu ghép nối phần tử danh sách list hai phần tử xâu ghép nối xâu joinstr @list = ("Day", "la", "vi", "du."); $str = join (" ", @list); #Lệnh gán cho $str = “Day la vi du.” II Biến, biểu thức lệnh gán Biến Biến đại lượng thay đổi giá trị Khái niệm biến Perl gắn liền với khái niện biến vô hướng Một biến vô hướng giữ giá trị vô hướng riêng : dòng liệu, đoạn văn bản, hay số Giá trị lưu giữ biến vô hướng gọi giá trị vô hướng Quy tắc đặt tên biến vô hướng : Gồm kí tự $ đầu tên, tiếp sau chữ, chữ số hay dấu _ (phần sau kí tự $ tuân theo quy tắc đặt tên giới thiệu phần trước) Ví dụ : $x $delta $ki_tu Biểu thức Biểu thức kết hợp phép toán toán hạng dấu ngoặc đơn để diễn đạt công thức toán học Toán hạng đại lượng đó, hằng, biến hay hàm Các phép toán dùng ngôn ngữ Perl a Số học + - * / %(lấy phần dư) **(mũ) Ví dụ % = 10.3 % 3.4 = ( số thực chuyển thành số nguyên trước thực phép toán) 2**3 = Chú ý : Perl không phép nâng luỹ thừa số âm hay số luỹ thừa lẻ (không ngyên) Trong lập trình bạn phải cẩn thận tránh tạo số lớn 12 b So sánh Có hai loại phép toán so sánh Perl: - So sánh số học - So sánh xâu Bảng 1.1 : Các phép toán so sánh số học Phép toán ý nghĩa < Nhỏ > Lớn == Bằng = Lớn != Khác Cho giá trị -1() Bảng 1.2 : Các phép toán so sánh xâu Phép toán ý nghĩa lt Nhỏ gt Lớn eq Bằng le Nhỏ ge Lớn ne Khác cmp Cho giá trị -1() 13 c Các phép toán logic Cách biểu diễn phép toán logic Perl dạng kí hiệu chữ sau nhau: && And || or ! not d Các phép toán bit & AND bit | OR bit ^ XOR bit ~ NOT bit > dịch phải bit Ví dụ 01111100 biểu diễn số 124 01100011 biểu diễn số 99 sau thực phép XOR bit | kết 00011111 dịch trái số 99 kết 11000110 Lệnh gán Cú pháp: = biểu thức biểu thức gán: $a = $b = ($c =10) * C , Perl cho phép thu gọn biểu thức gán : 14 = = $x = $x + viết thành $x += phép gán thường dùng += -= *= /= %= **= &= |= ^= Biểu thức theo điều kiện : ? : Gán theo điều kiện = ? : Nếu đúng(=1) lấy giá trị , trường hợp ngược lại lấy giá trị Biểu thức theo điều kiên Perl nằm bên trái phép gán ? : = Nếu đúng(=1) lấy giá trị , trường hợp ngược lại lấy giá trị ví dụ : $a=2>3 ? : ; kết biến $a = ; Tăng giảm đơn vị Cú pháp: ++ ++ Sự khác dạng tiền tố hậu tố dạng tiền tố giá trị biến tăng trước gán, dạng hậu tố biến tăng sau gán 15 Trong Perl phép tăng (chỉ có phép tăng) đơn vị áp dụng cho xâu xâu gồm chữ chữ số Ví dụ $xau = “abc”; $xau++; # Cho ta $xau = “abd” $xau = “abz”; $xau++; #Cho ta $xau = “aca” Thứ tự ƣu tiên phép toán Bảng 1.3 Thứ tự ưu tiên phép toán Phép toán Chiều tính toán ++, LR -, ~, ! RL ** RL =~, !~ LR *, /, %, x LR +, -, LR LR -e, -r, etc =, lt, le, gt, ge LR ==, !=, , eq, ne, cmp LR & LR |, ^ LR 16 && LR || LR LR ? and : RL =, +=, -=, *=, RL phép toán khác , LR not LR and LR or, xor LR Phần III: Các câu lệnh điều khiển Lệnh đơn, lệnh ghép Lệnh rẽ nhánh: if, if…else, if…elsif Lệnh lặp: while, for, foreach… Các toán tử last,next, Lệnh goto Lệnh đơn, lệnh ghép: Lệnh đơn: lệnh lời gọi hàm kết thúc dấu ; Ví dụ: $a = 1; print “Hello, World!\n”; Lệnh ghép: dãy lệnh đặt khối bắt đầu { kết thúc } Lệnh ghép dùng cấu trúc lệnh mà cú pháp đòi hỏi lệnh độc lập (trong if, for, while,…) (Tương tự C) Lệnh lựa chọn theo điều kiện if : 17 Mẫu lệnh : If () { ; } ; Mẫu lệnh 2: - If () { ; } else { ; } ; Lƣu ý: Dấu ngoặc múc { } cần thiết (cho dù bạn có lệnh phần if else), bạn thiếu thỡ Perl bỏo lỗi cỳ phỏp , lệnh ghép else theo if gần Điều kiện biểu thức số; kiểm tra với Ví dụ: 18 Kết chạy chươngtrình: - Nếu quan tâm đến trường hợp biểu thức xác định sai, sử dụng lệnh điều khiển unless để tránh có câu lệnh if…else Cú pháp câu lệnh unless: unless () { ; } ; unless () { ; } else { ; } ; Ví dụ: 19 Kết chạy chươngtrình: Khi biểu thức điều kiện sai, lệnh thực Trái lại, biểu thức điều kiện đúng, lệnh thực - Câu lệnh elsif: Cú pháp: if () { ; } elsif () { ; } else { ; } ; Lệnh while: - Cú pháp: while () 20 [...]... phép toán được dùng trong ngôn ngữ Perl a Số học + - * / %(lấy phần dư) **(mũ) Ví dụ 5 % 3 = 2 10.3 % 3.4 = 1 ( số thực sẽ được chuyển thành số nguyên trước khi thực hiện phép toán) 2**3 = 8 Chú ý : Perl không phép nâng luỹ thừa số âm hay số luỹ thừa lẻ (không ngyên) Trong lập trình bạn cũng phải cẩn thận tránh tạo ra số quá lớn 12 b So sánh Có hai loại phép toán so sánh trong Perl: - So sánh số học -... hỏi như một lệnh độc lập (trong if, for, while,…) (Tương tự như trong C) 2 Lệnh lựa chọn theo điều kiện if : 17 Mẫu lệnh 1 : If () { ; } ; Mẫu lệnh 2: - If () { ; } else { ; } ; Lƣu ý: Dấu ngoặc múc { và } ở đây là cần thiết (cho dù bạn chỉ có một lệnh trong phần if hoặc else), nếu bạn thiếu thỡ Perl sẽ bỏo lỗi cỳ... với 0 Ví dụ: 18 Kết quả chạy chươngtrình: - Nếu chỉ quan tâm đến các trường hợp khi biểu thức xác định là sai, có thể sử dụng lệnh điều khiển unless để tránh có một câu lệnh if…else Cú pháp câu lệnh unless: unless () { ; } ; unless () { ; } else { ; } ; Ví dụ: 19 Kết quả chạy chươngtrình: Khi biểu thức điều kiện là... xâu Phép toán ý nghĩa lt Nhỏ hơn gt Lớn hơn eq Bằng le Nhỏ hơn hoặc bằng ge Lớn hơn hoặc bằng ne Khác nhau cmp Cho giá trị -1() 13 c Các phép toán logic Cách biểu diễn phép toán logic trong Perl dưới dạng kí hiệu và chữ như sau là như nhau: && And || or ! not d Các phép toán bit & AND bit | OR bit ^ XOR bit ~ NOT bit > dịch phải bit Ví dụ 01111100 biểu diễn số 124 01100011... sau khi thực hiện phép XOR bit | kết quả 00011111 dịch trái số 99 kết quả 11000110 3 Lệnh gán Cú pháp: = biểu thức cũng có thể là biểu thức gán: $a = $b = ($c =10) * 5 cũng như C , Perl cho phép thu gọn biểu thức gán : 14 = = $x = $x + 5 có thể viết thành $x += 5 các phép gán thường dùng là += -= *= /= %= **= &=... thức 1> ? : Nếu đúng(=1) thì sẽ lấy giá trị của , trường hợp ngược lại sẽ lấy giá trị của Biểu thức theo điều kiên trong Perl có thể nằm ở bên trái phép gán ? : = Nếu đúng(=1) thì sẽ lấy giá trị của , trường hợp ngược lại sẽ lấy giá... pháp: ++ ++ Sự khác nhau giữa dạng tiền tố và hậu tố là trong dạng tiền tố giá trị biến sẽ được tăng trước khi gán, còn dạng hậu tố thì biến được tăng sau khi gán 15 Trong Perl phép tăng (chỉ có phép tăng) một đơn vị còn được áp dụng cho cả xâu nếu xâu chỉ gồm các chữ cái và chữ số Ví dụ $xau = “abc”; $xau++; # Cho ta $xau = “abd” $xau = “abz”; $xau++; #Cho ta $xau = “aca”... ("Day", "la", "vi", "du."); $str = join (" ", @list); #Lệnh gán này cho $str = “Day la vi du.” II Biến, biểu thức và lệnh gán 1 Biến Biến là đại lượng có thể thay đổi được giá trị Khái niệm biến trong Perl gắn liền với khái niện biến vô hướng Một biến vô hướng thì giữ một giá trị vô hướng riêng : có thể là một dòng dữ liệu, một đoạn văn bản, hay một số Giá trị được lưu giữ trong biến vô hướng được gọi...\xff biểu diễn kí tự thứ 255 hay EOF 1.4.2 Xâu nháy đơn Perl cũng cho phép bạn sử dụng xâu trong hai dấu nháy đơn ví dụ : „day la xau nhay don‟ Khác với xâu nháy kép, xâu nháy đơn có thể được đặt trên nhiều dòng và các kí tự điều khiển sẽ không có tác dụng

Ngày đăng: 02/06/2016, 20:23

TỪ KHÓA LIÊN QUAN

w