Chủ Nhật, 17 tháng 2, 2019

[Perl][Thiết kế lõi IP bằng script] Bài 2 - Hướng dẫn cài đặt packet đọc file excel

Như đã trình bày trong bài 1, trong các phần tiếp theo, chúng ta sẽ thực hiện một ví dụ để làm rõ quy trình thiết kế một tool, cái được dùng tạo ra RTL code tùy vào cấu hình mong muốn của người sử dụng qua một file "user input". File "user input" được dùng trong loạt bài này là file excel nên bài viết này hướng dẫn cài đặt thư viện Perl phục vụ cho phần thực hành ở các bài tiếp theo.

1) Cài đặt trình thông dịch cho Perl?
Mục này, tác giả đã trình bày trong bài 1. Ở đây, tác giả chỉ nhắc lại để các bạn có thể tham khảo nhanh. Để thực hành bạn hãy chuẩn bị một hệ điều hành và cài đặt trình thông dịch PERL (Practical Extraction and Report Language). Cài này bạn có thể dễ dàng tìm trên google. Nếu bạn là người mới, bạn hãy cố gắng tự cài đặt và chạy một script Perl đầu tiên trước khi tiếp tục đọc loạt bài này. Hãy tham khảo một số linhk sau đây để cài đặt:
  1. https://www.tutorialspoint.com/perl/perl_environment.htm
  2. https://vinasupport.com/cai-dat-va-nang-cap-perl-tren-he-dieu-hanh-linux-unix/
Trong loạt bài viết này, tác giả sử dụng môi trường có thông số như sau:
  1. Hệ điều hành: Centos 6.4 64-bit
  2. Phiên bản trình thông dịch Perl: v5.10.1 (*) built for x86_64-linux-thread-multi (dùng lệnh "perl -v" để kiểm tra phiên bản trình thông dịch của bạn)
  3. Thông số khác:
    1. Phần mềm máy ảo VMware® Workstation 12 Pro - version 12.5.9 build-7535481
    2. Cấu hình phần cứng: CPU - 4 core, RAM - 2GB
2) Cài đặt thư viện đọc và phân tích file excel
2.1) Giới thiệu
User file là file được điền các thông số cấu hình mong muốn bởi người sử dụng. File này có thể là bất kỳ định dạng nào như file .txt, .csv, .html, .log, ... nhưng trong ví dụ mà tác giả đưa ra, chúng ta sẽ dùng định dạng excel (.xls).
Lý do, file excel có định dạng là các ô (cell) riêng biệt. Điều này giúp người sử dụng dễ quản lý và điền các thông số cấu hình.
Tuy nhiên, trình biên dịch Perl gốc không hỗ trợ các method (subroutine) cần thiết giúp đọc file này dễ dàng nên bạn cần cài đặt thêm thư viện Perl. Trang web sau đây là kho lưu trữ các thư viện Perl (CPAN) được phát triển bởi nhiều lập trình viên chuyên nghiệp trên thế giới.
https://metacpan.org/
Bạn hãy đọc thêm ở đây để hiểu về CPAN:
https://en.wikipedia.org/wiki/CPAN
Thư viện phân tích và đọc file excel sẽ được tải về ở kho metaCPAN. Phiên bản tác giả sử dụng là Spreadsheet-ParseExcel-0.65.
2.2) Chuẩn bị các thư viện (các gói) cài đặt
Bạn truy cập vào link sau để tải các thư viện Spreadsheet-ParseExcel-0.65 và các thư viện liên quan.
https://metacpan.org/release/Spreadsheet-ParseExcel
Hình 1: Tải gói thư viện đọc và phân tich file excel .xls
Khi truy cập link trên, bạn chú ý đến các phần sau:
  1. Phiên bản Perl của gói thư viện là perl_5
  2. Vị trí tải thư viện là TOOLS/Download
  3. Cấu trúc của gói thư viện gồm các class mà thư viện hỗ trợ, tổ chức thư mục và file trong gói thư viện mà bạn sẽ tải về
  4. Các gói thư viện liên quan (DEPENDENCIES) là các gói thư viện tối thiểu mà bạn phải cài đặt trước khi cài đặt gói này
Các gói thư viện cần tải, bao gồm cả các gói liên quan ở DEPENDENCIES, gồm:
  1. Crypt-RC4-2.02.tar.gz
  2. Digest-Perl-MD5-1.9.tar.gz
  3. IO-1.39.tar.gz
  4. IO-stringy-2.111.tar.gz
  5. OLE-Storage_Lite-0.19.tar.gz
  6. Scalar-List-Utils-1.50.tar.gz
  7. Spreadsheet-ParseExcel-0.65.tar.gz (đọc và phân tích file excel)
Sai khi tải về, bạn giải nén các gói cài đặt với lệnh:
tar -xzf <packet_name>
ví dụ:
tar -xzf Crypt-RC4-2.02.tar.gz
2.3) Cài đặt
Sau đó thực hiện cài đặt tất cả các gói trên, chú ý Spreadsheet-ParseExcel-0.65 phải được cài đặt cuối cùng. Với mỗi gói thứ tự thực hiện các lệnh cài đặt cho mỗi gói như sau (đọc file README có trong các gói cài đặt):

  1. perl Makefile.PL
  2. make
  3. make test
  4. make install

Ví dụ về việc cài đặt cho gói IO-stringy-2.111 như sau:

Hình 2: Cài đặt gói IO-stringy-2.111
Trong quá trình cài đặt, các bạn chú ý các cảnh báo ở hai bước "perl Makefile.PL" và "make test". Bước "perl Makefile.PL" sẽ hiện ra các thông báo về các gói cài đặt bị thiếu mà bạn cần phải cài đặt thêm trước khi cài đặt gói hiện tại. Bước "make test" sẽ thực hiện các kiểm tra cần thiết trước khi cài đặt. Bạn chỉ thực hiện install thành công nếu kết quả bước "make test" là PASS với tất cả các test đều "ok".
Hình 3: Ví dụ về cảnh báo thiếu gói liên quan khi cài đặt khi thực thi "perl Makefile.PL"
Hình 4: Ví dụ về FAIL khi chạy thực thi "make test"
2.4) Kiểm tra
Sau khi đã cài đặt toàn bộ các file cần thiết. Các bạn tạo một file excel với định dạng .xls để thử. Ví dụ, tác giả tạo 1 file tên "Book1.xls" chứa một sheet tên "Sheet1" có nội dung như sau:
Chú ý, chỉ cell A1, B2 và B5 là có giá trị. Trong thư mục "Spreadsheet-ParseExcel-0.65/examples/" có một script tên "a_simple_parser.pl". Bạn đặt chung file "a_simple_parser.pl" và "Book1.xls" trong cùng một thư mục và chạy lệnh sau để kiểm tra:
./a_simple_parser.pl Book1.xls
Script trên sẽ đọc và hiển thị vị trí các cell có giá trị trong file "Book1.xls".
Hình 5: Kết quả kiểm tra sau khi cài đặt
Sau bài này các bạn hãy cài đặt và tìm hiểu về các method đọc và phân tích file excel trước khi đến các bài tiếp theo.
Hướng dẫn: https://metacpan.org/pod/Spreadsheet::ParseExcel

0 bình luận:

Đăng nhận xét