Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

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
Replies are listed 'Best First'.
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 . ( ".", bless([3, 0, 16895, 1, 0, 0, 3, 0, 1344244307, 1344244307, 115650180 +3, "", ""], "File::stat"), { isdir => 1, isfile => "" }, ) ( "", bless([3, 0, 33206, 1, 0, 0, 3, 444, 1344244390, 1344244390, 1344244 +307, "", ""], "File::stat"), { isdir => "", isfile => 1 }, )

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2015-11-30 03:27 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (757 votes), past polls