Das Problem besteht darin, dass Perl auf meinem System installiert ist und Bash es erkennen kann. Wenn ich jedoch versuche, ein Perl-Skript auszuführen, das ein Modul enthält, tritt ein Fehler auf.
Text/CSV.pm kann in @INC nicht gefunden werden (Sie müssen möglicherweise das Modul Text::CSV installieren) (@INC enthält: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl) bei parse_prospects.pl Zeile 5. BEGIN fehlgeschlagen – Kompilierung bei parse_prospects.pl Zeile 5 abgebrochen.
Bei CMD gibt es keinen solchen Fehler, also frage ich mich, was ich tun müsste, um sie kompatibel zu machen. Es ist, als ob Perl auf Bash denkt, es sei unter Linux und versucht, seine Pakete unter /usr/share zu finden.
Antwort1
Ich habe Strawberry Perl verwendet. Wenn Sie das also haben und Perl auf MSYS2 oder Git für Windows verwenden möchten, müssen Sie eine ENV-Variable namens PERL5LIB mit der Route zu Ihren Modulen auf Strawberry Perl oder Ihrer Perl-Distribution angeben. .
export PERL5LIB=/c/Strawberry/perl/vendor/lib
Damit es dauerhaft auf Ihrem System vorhanden ist, muss es sich in Ihrer .bashrc-Datei in Ihrer Home-Route befinden. Auf diese Weise verwenden sowohl CMD als auch Bash dieselben Module.