簡體   English   中英

您可能需要安裝My :: Module模塊

[英]you may need to install the My::Module module

我現在在一個Web漏洞掃描程序的項目中工作,因此我將我的perl腳本運行到我的Java中,perl腳本是來自kali linux的uniscan開源工具,因此當我單擊go來運行該腳本時,將顯示此消息

無法在@INC中找到Uniscan / Crawler.pm(您可能需要安裝Uniscan :: Crawler模塊)(@ INC包含:./Uniscan C:/ Perl64 / site / lib C:/ Perl64 / lib)。 C:\\ uniscan \\ uniscan.pl第25行。BEGIN失敗-在test \\ uniscan.pl第25行中中止了編譯。

但是,當我運行hello world腳本時,它在控制台中正確顯示,沒有問題。 這是我在Java中調用perl腳本的代碼

try {
                String[] commande = {"perl", "C:\\uniscan\uniscan.pl"};
                Process p = Runtime.getRuntime().exec(commande);
                AfficheurFlux fluxSortie = new AfficheurFlux(p.getInputStream());
                AfficheurFlux fluxErreur = new AfficheurFlux(p.getErrorStream());

                new Thread(fluxSortie).start();
                new Thread(fluxErreur).start();

                p.waitFor();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

uniscan的代碼在這里

請我幫忙,下周我將要完成我的學位課程

該程序依賴於在模塊搜索路徑( @INC )中找到的腳本目錄,但不能保證這一點。

如果您從腳本目錄運行腳本,則該腳本可以正常運行,因為. 默認情況下位於@INC 但是您正在從其他目錄運行腳本。

刪除以下無用的行:

use lib "./Uniscan";

將其替換為以下內容:

use FindBin qw( $RealBin );
use lib $RealBin;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM