Rich Internet applications Web

Just another WordPress.com weblog

Học Perl trong 24 giờ – Giờ 2 Tháng Chín 3, 2008

Chuyên mục: Basic — riasweb @ 10:26 chiều
Tags:

Hour 2: Perl’s Building Blocks: Numbers and Strings

2.1) Những khái niệm cơ bản đầu tiên:

  • Scalars – Mỗi một ngôn ngữ lập trình – và mỗi một ngôn ngữ con người đều có bắt đầu giống nhau. Bạn có thể nhận được một vài tứ nói về điều đó. Trong Perl, những số và chuỗi là những thành phần cơ bản nhất của quá trình chuyển đổi, và những thành phần đó được gọi là scalars.
  • Values constants hoặc literals – Một số scalars trong Perl có thể thể hiện thông tin không thay đổi trong cả vòng đời của chương trình. Một số ngôn ngữ gọi là values constants hoặc literals.
  • Scalar variables – Những loại khác của scalars trong Perl chúng được thay đổi, được gọi là scalars variables. Những biến lưu trữ dữ liệu khi bạn thao tác chúng. Bạn có thể thay đổi nội dung của những biến bởi vì chúng chỉ đơn thuần hành động như xử lý cho dự liệu mà chúng miêu tả.

2.2) Literals

Perl có hai kiểu khác nhau của scalar constants được gọi là literals: numeric literals và string literals.

Numbers

Numeric literals là những số, và Perl chấp nhận một số cách khác nhau cho việc viết những số.

Number Type of Literal
6 Một số nguyên
12.5 Một số con trỏ động
15. Một số con trỏ động khác
.7320508 Và đây nữa, một số con trỏ động khác
1e10 Số viết kiểu khoa học
6.67E – 33 Số kiểu khoa học (e hoặc E đều chấp nhận)
4_294_296 Một số lớn cùng với những thể hiện gạch chân của dấu phẩy

Strings

String literals trong Perl là những tập hợp ký tự, như Hello, World. Chúng có thể chứa như data như bạn muốn; Chuỗi thực tế không có giới hạn trên kích thước cho phép của tổng số dung dượng của bộ nhớ ảo trên máy tính của bạn. Chuỗi cũng có có thể chứa mọi loại dữ liệu – Simple ASCII text, ASCII cùng với những bit lớn, thậm chí cả dữ liệu nhị phân, Chuỗi thậm chí có thể là rỗng.

Sử dụng dấu ‘ ’ và “ ” để định nghĩa một chuỗi. Ký tự backslash (\) được sử dụng để quy định cho những ký tự đặc biệt.

Ví dụ những tập hợp String Escape

Sequence Represents
\n Dòng mới
\r Trở về đầu dòng
\t Tab
\b Khoảng trắng
\u Chuyển ký tự tiếp theo thành chữ hoa
\l Chuyển ký tự tiếp theo thành chữ thường
\\ Hiện một ký tự backslash (\)
\’ Hiện một ký tự dấu nháy đơn ‘
\” Hiện một ký tự dấu nháy kép “

Perl cung cấp một kỹ thuật khác chú thích: Các toán tử qqqq. Để sử dụng qq, bạn cần quanh chuỗi bởi qq() thay cho dấu ngoặc kép:

Ví dụ:

q(I said, “Go then,” and he said “I’m gone”) hay qq(I said, “Go then,” and he said “I’m gone”)

Cũng giống như: “I said, \”Go then,\” and he said \”I’m gone\””

Như vậy vể bản chất hai câu lệnh sau là như nhau:

print qq(I said, “Go then,” and he said “I’m gone”);

print “I said, \”Go then,\” and he said \”I’m gone\””;

Chú ý: print là hàm dùng để in ra màn hình một chuỗi bất kỳ, sẽ học sau.

2.3) Biến số:

Biến số trong perl được đặc trưng bởi tiền tố $ đứng trước. Ví dụ:

$name, $tuổi.

Perl phân biệt chữ hoa và chữ thường, thế nên các biến sau là khác nhau:

$value

$VALUE

$Value

$valuE

Biến số đặc biệt: $_

Perl có một biến số đặc biệt, $_,  mà giá trị được sử dụng như là một “hiện thời” bởi nhiều toán tử và hàm số. Cho ví dụ, nếu bạn đơn giản in  trạng thái bởi nó – không chỉ định scalar variable của chuỗi string literal để in ra màn hình – Perl sẽ in giá trị hiện thời của $_.

$_=”Dark Side of the Moon”;

print;    # In ra giá trị của $_, “Dark side…”

2.4) Biểu thức và toán tử

Toán tử gán: =, ví dụ:

$a=$b=$c=42;

Các toán tử khác: ++, –, nếu biến là chuỗi chứa số thì sẽ tăng thêm một đơn vị, nếu chứa cả số và chữ thì sẽ tăng số lên một đơn vị, nếu chứa chữ không thì tăng chữ đó lên một mã trong bảng ASCII. Ví dụ như sau:

$a=”999″;

$a++;

print $a;           # prints 1000, as you’d expect

$a=”c9″;

$a++;

print $a;           # prints d0.  9+1=10, carry 1 to the c.

$a=”zzz”;

$a++;

print $a;         # prints “aaaa”.

2.5) Angle Operator (<>)

Angle operator (<>), thi thoảng được gọi là diamond operator, chủ yếu được sử dụng cho đọc và viết các file; nó sẽ được giới thiệu đầy đủ ở Hourr 5, “Working with Files.” Mặc dù, bây giờ giới thiệu tóm tắt sẽ tạo một vài bài tập chú ý, và khi bạn bắt đầu Hour 5, toán tử sẽ có một chút quen thuộc đối với bạn.

Cho đến khi, bạn có thể dử dụng angle operator trong dạng rất đơn giản: < STDIN >. Dạng này chỉ ra cho Perl dòng này cần được nhập vào từ thiết bị nhập – thông thường là bàn phím. Công thức <STDIN> trả về dòng nhập từ bàn phím. Ví dụ:

print “What size is your shoe? “;

$size=<STDIN>;

print “Your shoe size is $size. Thank you!”;

Đoạn code trên, khi thực hiện (cho bạn kiểu 9.5 như kích cỡ dày của bạn), sẽ in ra màn hình dòng sau:

What is size is your shoe?  9.5

Your shoe size is 9.5

. Thank you!

Bạn sẽ thấy chữ .Thank you bị xuống dòng, bởi vì mặc định giá trị nhận về từ <STDIN> có một ký tự xuống dòng ở cuối, để xóa ký tự này bạn sử dụng hàm chomp. Đoạn code trên sẽ được viết lại như sau:

print “What size is your shoe?”;

$size=<STDIN>;

chomp $size;

print “Your shoe size is $size. Thank you!\n”;

Một số cách viết khác.

$a=$a+3; hoặc $a+=3;

$line.=”, at the end”;          # “, at the end” is appended to $line

$y*=$x                          # same as $y=$y*$x

$r%=67;                         # Divide by 67, put remainder in $r

2.6) A Few Words on Strings and Numbers

Cho hầu hết các phần, Perl cho phép bạn được sử dụng những số và chuỗi có thể hoán đổi cho nhau; Đại diện đó là sử dụng quyết định rằng Perl tìm kiếm vị trí:

Nếu một số thứ tìm là số, Perl có thể sử dụng nó như là một số khi nó cần là một số:

$a=42;         # A number

print $a+18;   # displays 60.

$b=”50″;

print $b-10;   # Displays 40.

Nếu một số thứ tìm là một số, khi Perl cần là một chuỗi, nó sử dụng chuỗi đại diện của số:

$a=42/3;

$a=$a . “Hello”;  # Using a number like a string.

print $a          # displays “14Hello”

Nếu một số thứ không tìm được như là một số, nhưng bạn sử dụng nó như là một số, Perl đơn giản sử dụng giá trị 0 vào vị trí đó:

$a=”Hello, World!”;

print $a+6;     # displays the number 6

2.7) Bài tập: Hãy tính tiền lãi(accrued) theo công thức:

Trong đó:

Accrued – Lãi suất

Monthly interest – Lãi suất hàng năm

Number of deposits – Số tháng gửi tiền

Payment – Tổng số tiền gửi hàng tháng

Bài làm:

#!C:/xampp/perl/bin/perl.exe

print ‘Tong so tien gui ?\n’;

$pmt=<STDIN>;

chomp $pmt;

# Lai suat nam, vi du 15% thi nhap la .15

print ‘Lai suat nam ?\n’;

$interest=<STDIN>;

chomp $interest;

print ‘Tong so thang gui ?\n’;

$months=<STDIN>;

chomp $months;

$accrued=$pmt*(((1+$interest)**$months-1)/$interest);

print ‘Lai suat la: ‘.$accrued.’\n’;

(Jun – Theo Perl in 24 Hour)

 

Học Perl trong 24 giờ – Giờ 1 Tháng Chín 3, 2008

Chuyên mục: Basic — riasweb @ 10:00 chiều
Tags:

Trước khi bắt đầu tôi có một chú ý vô cùng quan trọng: Do vốn tiếng anh có hạn, tôi muốn tự dịch để luyện tập cho vốn tiếng anh và kinh nghiệm dịch của mình được tăng lên. Nên nhiều chỗ dịch rất chuối, ai phát hiện và đưa ra câu dịch hay thì comment cho tôi nhé, xin cảm ơn !.

Để chuẩn bị cho giờ đầu tiên này thì bạn cần chuẩn bị một số những điều cần thiết sau:

  • Môi trường thực hành (tôi chọn chạy trên hệ điều hành Windows, nếu bạn dùng Linux thì bỏ qua những chú ý này.)
  • Cài đặt Perl: Sử dụng ActivePerl hoặc Xammp và add-on Perl cho Xammp, có thể download miễn phí tại:

http://www.activestate.com/Products/activeperl/index.mhtml

http://www.apachefriends.org/en/xampp.html

  • Phần mềm phát triển Perl: Bạn có thể sử dụng Notepad hoặc EnginSite Perl Editor một IDE khá hay, có thể download tại:

http://www.enginsite.com/Perl.htm

Phần hướng dẫn cài đặt môi trường tôi sẽ nói sau, trong mục Hour 1.

Hour 1: Bắt đầu với Perl


Những nội dung chính sẽ nói trong mục này:

  • Khái quát về Perl
  • Cài đặt Perl
  • Tiếp cận tài liệu bên trong Perl
  • Viết script đầu tiên với Perl

1.1) Khái quát về Perl
Perl là một ngôn ngữ lập trình đa năng. Nó có thể được sử dụng cho bất cứ việc gì mà mọi ngôn ngữ khác có thể sử dụng. Nó được sử dụng trong mọi nghành công nghiệp có thể hình dung được gần như cho những vấn đề bạn có thể nghĩ. Nó được sử dụng trên thị trường chứng khoán; trong sản xuất chế tạo, thiết kế, kỹ thuật thông tin, hỗ trợ khách hàng, quản lý chất lượng, lập trình hệ thống, bảng lương và kiểm kê đánh giá và dĩ nhiên là trên web.
Perl được sử dụng ở nhiều nơi bởi vì Perl là ngôn ngữ Glue. Ngôn ngữ Glue được sử dụng với kết nối mọi thứ liên tục. Bạn hầu như chắc chắn sẽ không muốn viết một từ xử lý trong Perl – mặc dù vậy bạn sẽ – bởi vì từ xử lý sẵn sàng thực thi. Viết một database, bảng tính, hệ điều hành, hoặc tất cả những đặc điểm Web server trong Perl sẽ làm choáng váng – nhưng lại, có thể xảy ra.
Perl tốt ở điểm ràng buộc các thành phần liên tục. Perl có thể lấy database của bạn, chuyển đổi nó vào một bảng tính, và xử lý, sửa dữ liệu nếu bạn muốn. Perl cũng có thể nhận những tài liệu từ xử lý của bạn và chuyển đối chúng sang HTML để hiển thị trên web.

As a side effect of being a language designed to glue elements together, Perl is very adaptable. It runs under, at last count, about two dozen operating systems-and probably more. Perl’s programming style is very flexible, so you can do the same things in many ways. Your Perl programs may look nothing like mine, but if they both work, that’s okay. Perl can be a strict language when it needs to be, but it can also be forgiving to new sprogrammers if you want. It’s all up to you.

Let me just clear up a few points. The name of the programming language is Perl. The name of the program that runs your programs, the interpreter, is perl. The distinction usually isn’t very important to you-except when you’re trying to start your programs; then it’s always perl. Sometimes-but not here-you will see Perl written as PERL, probably because one explanation of Perl’s name is as an acronym for Practical Extraction and Report Language. Nobody ever really called it PERL; it’s too pretentious. It’s just Perl to its friends.

1.2) Cài đặt Perl

Bạn cài đặt ActivePerl, hoặc nhanh chóng là sử dụng gói Xammp. Ở đây tôi sẽ hướng dẫn sử dụng Xammp, vì phần 2 bạn sẽ cần sử dụng đến nó. Download phiên bản zip cho windows, gồm: Xammp và Add-ons Perl cho Xammp, giải nén toàn bộ vào ổ C. Sau đó bấm chuột phải vào My Computer > Properties. Chọn tab Advanced > Environment Variables. Thêm vào một biến môi trường PATH với giá trị như sau: C:\xampp\perl\bin;C:\xampp\perl\site\bin
Ok như vậy là bạn đã cài đặt xong Perl cho Windows.

1.3) Ứng dụng Perl đầu tiên
Dùng notepad soạn thảo một file hello.pl với nội dung như sau, rồi lưu vào ổ C:

#!C:/xampp/perl/bin/perl.exe -w
print “Hello, World!\n”;

Chạy chương trình: Vào Run > gõ cmd. Từ dấu nhắc lệnh gõ: C:\perl hello.pl bạn sẽ nhận được kết quả như hình:

Chúc mừng bạn vì đã chạy thành công với một ứng dụng Perl đầu tiên.Giải thích:
The first line of the hello program is

#!C:/xampp/perl/bin/perl.exe -w

Với Perl, mội dòng có có # coi như là dòng chú thích. Và Perl sẽ lờ đi mọi thứ nếu nó là chú thích. #! Là dòn đầu tiên của chương trình nó khác với những trường hợp khác. Đường dẫn như – C:/xampp/perl/bin/perl.exe là đường dẫn của trình biên dịch. Nếu một file Unix với #! theo sau bởi một đường dẫn của trình biên dịch và trình thực thi. Unix hiểu rằng đó là chương trình (đúng hơn là một shell script) và như thế để biên dịch nó.
Một vài Web server có thể thực thi những chương trình Perl – Apache, cho ví dụ – như chú ý đến dòng #! Và có thể gọi những chương trình mà không sử dụng lệnh rõ ràng perl.

Perl được gọi là một ngô ngữ lập trinh tự do. Điều đó có nghĩa là những dòng lệnh Perl không quá cầu kỳ về cách viết chúng. Bạn có thể chèn khoảng trắng, tabs và ký tự về đầu dòng – được gọi là whitespace – gần mọi điểm trong câu lệnh Perl, và điều đó không quan trọng. Với vụ dụ hello.pl trên ta có thể viết lại như sau:

#!C:/xampp/perl/bin/perl.exe -w

print

“Hello, World!\n”

;

Chạy vẫn vô tư :)

(Jun – Theo Perl in 24 Hour)