Nếu không sử dụng bộ lọc nguồn, có cách nào để thay đổi gói đang chạy không? Tôi đang cố gắng để thực hiện cùng một điều oose.pm hiện, và tôi tự hỏi nếu tôi có thể thả người dùng của tôi trong một gói không chính.Perl thay đổi gói hiện tại?
5
A
Trả lời
5
Tôi nghĩ bạn sẽ có thể làm điều đó bằng cách thay đổi PL_curstash
và PL_curstname
ở cấp C.
PL_curstash = gv_stashpvs("Some::Package", GV_ADD);
sv_setpvs(PL_curstname, "Some::Package");
PL_curstash
là stash của gói hiện tại trong biên soạn, PL_curstname
là tên của nó.
Cập nhật:
tôi đã tìm thấy vấn đề này loại thú vị và thực hiện các giải pháp như Devel::ChangePackage
. Hóa ra những gì ban đầu tôi đề nghị chỉ hoạt động. Bạn có thể lấy nó hoặc từ http://github.com/rafl/devel-changepackage hoặc từ gương CPAN gần bạn khi chúng đã được cập nhật.
Các vấn đề liên quan
- 1. Thay đổi Tab Hiện tại trong Rails
- 2. Phát hiện biến gói khai báo trong perl
- 3. Perl - Gói vấn đề/Module
- 4. Chiều dài gói tin udp hiện tại
- 5. Hỗ trợ Javabean hiện tại để thay đổi các tài sản con không thay đổi
- 6. "Lưu thay đổi không được phép" khi thay đổi cột hiện tại thành nullable
- 7. Thay đổi thư mục hiện tại của FileSystemObject
- 8. Tạm thời thay đổi thư mục hiện tại trong Rake
- 9. Drupal: cách thay đổi ngôn ngữ phân loại hiện tại
- 10. Thay đổi LD_LIBRARY_PATH của môi trường quy trình hiện tại
- 11. thay đổi gói tạo ra lớp jaxb
- 12. iPhone - Thay đổi gói nhận dạng
- 13. Android Marketplace: Thay đổi gói ứng dụng
- 14. Trì hoãn mã về thay đổi phạm vi trong Perl
- 15. Gdata gói perl vấn đề
- 16. Tạo các gói với Perl
- 17. Tại sao mã thoát 255 thay vì -1 trong Perl?
- 18. Khi phát triển gói R, tôi có phải biên dịch lại gói mỗi khi tôi thực hiện thay đổi không?
- 19. Eclipse: thay đổi tên của gói hiện có với các lớp bên trong
- 20. Thay đổi thực hiện TempData - Lý do thay đổi
- 21. Tại sao Perl thay chuỗi của tôi bằng "1"?
- 22. Gói LaTeX Beamer, thay đổi tiêu đề khung trong \ againframe
- 23. Chụp các bài tập thay đổi trong một Perl eval
- 24. perl -a: Cách thay đổi dấu tách cột?
- 25. Perl, tự động bao gồm gói
- 26. Perl yêu cầu tên gói rõ ràng
- 27. Chuyển đổi chi nhánh sau khi hủy bỏ các thay đổi hiện tại trong git
- 28. chuyển đổi ngôn ngữ mà không thay đổi trang hiện tại
- 29. Mercurial: Bao gồm các thay đổi bí mật trong gói?
- 30. Làm cách nào để thay đổi mô tả của danh sách thay đổi hiện tại trong dòng lệnh?
Nhưng anh ấy đang cố gắng thay đổi gói _caller's_, không phải của riêng anh ấy. – cjm
Đó là lý do tại sao anh ta nên làm điều trên thay vì đẩy curstash và curstname vào ngăn xếp lưu và thực hiện các thay đổi cục bộ với phạm vi hiện tại, giống như từ khóa gói sẽ làm. – rafl