Tôi sử dụng use lib "./DIR"
để lấy thư viện từ thư mục ở nơi khác. Tuy nhiên, nó dường như không hoạt động trên máy chủ của tôi, nhưng nó hoạt động tốt trên máy tính để bàn cục bộ của tôi. Bất kỳ lý do cụ thể nào?Pragma lib của Perl hoạt động như thế nào?
Và một câu hỏi nữa, không use lib
được truyền trong một số mô-đun?
Hai trường hợp: Giả sử tôi tạo một lớp cơ sở yêu cầu một vài thư viện, nhưng tôi biết rằng nó cần phải được mở rộng và lớp mở rộng sẽ cần phải sử dụng một thư viện khác. Tôi có thể đặt lệnh use lib
trong lớp cơ sở không? hoặc tôi sẽ cần phải đặt nó trong mỗi lớp học mở rộng?
Cuối cùng, tôi có thể chỉ có một gói use package
trong đó gói chứa một nhóm sử dụng lib, nó sẽ tuyên truyền các câu lệnh lib sử dụng cho mô-đun hiện tại của tôi không? < - Tôi không nghĩ vậy, nhưng yêu cầu anyways
Tôi đã sử dụng getcwd để tìm ra vị trí "." Là. Chỉ cần tò mò để biết nếu nó có thể tìm ra nơi kịch bản perl nằm? Nó không hoạt động khi tôi cố gắng sử dụng FindBin vì lib và bin không được đặt cùng vị trí. Đây là một ví dụ về những gì tôi đang cố gắng làm. Tôi chạy kịch bản perl từ thư mục nói 1. Nó có sử dụng lib "/ abs/path/topack /"; sử dụng gói. Trong gói tôi sử dụng lib './FOLDER2'; giả sử cwd sẽ giống nhau. Kể từ "." đang trỏ đến Folder1 chứ không phải đường dẫn. Điều đó là sai. Làm thế nào để tôi không sử dụng đường dẫn tuyệt đối trong gói nhưng cũng có thể sử dụng.? Có thể không? – Tyug
@Tyug: Bạn có thể xác định vị trí mô-đun được tải bằng cách kiểm tra '% INC'. Xem http://stackoverflow.com/questions/1463414 cho một câu hỏi tương tự sẽ giúp bạn chỉ đúng hướng. –
Cảm ơn bạn rất nhiều! – Tyug