Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Check if unicode directory exists

by paddycoep (Initiate)
on Aug 06, 2012 at 08:06 UTC ( #985627=perlquestion: print w/ replies, xml ) Need Help??
paddycoep has asked for the wisdom of the Perl Monks concerning the following question:

I am checking if the Unicode directory exists using -d check and if Exists then copying the files in the unicode directory using System DOS COPY command. The Unicode directory name is taken from STDIN. But though the Directory exists, it active perl shows false for -d check. If instead of taking the unicode directory name from STDIN, if I hard core the name in the perl script then it works. How Can I take the unicode directory name from STDIN which I can check if Exists using -d and then can COPY the files in this directory. I am using Active Perl 5.14

Comment on Check if unicode directory exists
Re: Check if unicode directory exists
by moritz (Cardinal) on Aug 06, 2012 at 08:17 UTC
Re: Check if unicode directory exists
by Anonymous Monk on Aug 06, 2012 at 08:50 UTC

      The wordy approach

      use Fcntl q' :mode '; use Win32::Unicode::Native; use Data::Dump; my $filename = shift; my @f = my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) = stat($filename); dd \@f, S_ISDIR( $mode ), S_ISREG($mode);

      Less wordy

      #!/usr/bin/perl -- use strict; use warnings; use Data::Dump; use File::stat(); use Win32::Unicode::Native; # stat is statW, open is openW, ... for my $filename ( @ARGV ){ my $stat_obj = File::stat::populate( stat( $filename ) ); dd $filename, $stat_obj, { isdir => -d $stat_obj, isfile => -f $st +at_obj }; } __END__ $ perl win32.unicode.stat.utf8.pl . win32.unicode.stat.utf8.pl ( ".", bless([3, 0, 16895, 1, 0, 0, 3, 0, 1344244307, 1344244307, 115650180 +3, "", ""], "File::stat"), { isdir => 1, isfile => "" }, ) ( "win32.unicode.stat.utf8.pl", bless([3, 0, 33206, 1, 0, 0, 3, 444, 1344244390, 1344244390, 1344244 +307, "", ""], "File::stat"), { isdir => "", isfile => 1 }, )

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://985627]
Approved by moritz
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (11)
As of 2014-07-29 09:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (212 votes), past polls