Comment puis-je obtenir le chemin sans le nom de fichier dans Windows en utilisant Perl?

Je cherche à obtenir le chemin sans le nom de fichier dans Windows par Perl

J’ai le chemin complet comme ceci:

c:\My_Designs\ipcore_script\test\src\IP_CORE\mux\sus.do

Je n’ai besoin que du chemin et je veux enlever le nom du fichier comme:

c:\My_Designs\ipcore_script\test\src\IP_CORE\mux

Utilisez File :: Basename

 > perl -MFile::Basename -wE "say dirname(qq(c:/perl/bin/perl.exe));" c:/perl/bin 

Vous pouvez également utiliser Path :: Class :

 #!/usr/bin/env perl use ssortingct; use warnings; use Path::Class; my $file = file('c:\My_Designs\ipcore_script\test\src\IP_CORE\mux\sus.do'); print $file->parent, "\n"; 

Sortie:

  C: \ Mes_Designs \ ipcore_script \ test \ src \ IP_CORE \ mux 

Vous pouvez aussi essayer ceci

 $path='c:\My_Designs\ipcore_script\test\src\IP_CORE\mux\sus.do'; my $pathname=substr($path, 0, rindex($path,"\\")); Result: c:\My_Designs\ipcore_script\test\src\IP_CORE\mux