开发者

Perl to set a directory to open, open it, then print the directory opened?

Trying to troubleshoot a port of some perl code from CentOS to Windows.

Really know nothing about Perl, and the code I'm porting is around 700-1000 lines. 100% sure one of the issues I'm seeing is related to how the code is being rendered as a result of being on the OS it's running on.

So, I'm looking for a way to troubleshoot debugging how the OS's are rendering filepath apart from the legacy code; which I can not post to SO due to "IP" reasons.

So, I looking for some perl that I can set a directory to open within the script (for example, C:\data\ or /home/data), then script attempts to load the directory, prints if it failed or succeeded, and then prints the string it attempted to load, regardless if the code failed t开发者_Python百科o open the directory or not.

Open to suggestions, but that's the issue, and the solution I'm seeing.

Questions, feedback, requests - just comment, thanks!!


use IO::Dir;

my $dir = IO::Dir->new($dir_path) or 
   die "Could not open directory $dir_path: $!\n";

of course, where $dir_path is some path to a directory on your system that you want, either as a var or hard coded. The more 'old school' way would look like:

opendir my $dir, $dir_path or die "Could not open directory $dir_path: $!\n";

That won't print of the directory is opened, but the program will fail if it doesn't open it then print the precise error as to why, which is what the $! variable holds.


Is this what you're looking for?

use DirHandle;

my $dir = "test";
my $dh = new DirHandle($dir);

if($dh) {
  print "open directory succeeded\n";
}
else {
  print "open directory failed\n";
}

print $dir, "\n";

new DirHandle opens the directory and returns a handle to it. The handle will be undef if the open failed.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜