| Win32-Unicode documentation | Contained in the Win32-Unicode distribution. |
Win32::Unicode - perl unicode-friendly wrapper for win32api.
use utf8;
use Win32::Unicode;
# unicode console out
printW "I \x{2665} Perl";
# unicode file util
unlinkW $file or die $!;
copyW $from, $to or die $!;
moveW $from, $to or die $!;
file_type f => $file ? 'ok' : 'no file';
my $size = file_size $file;
touchW $new_file;
my @stat = statW $file;
# unicode directory util
mkdirW $dir or die $!;
rmdirW $dir or die $!;
my $cwd = getcwdW;
chdirW $change_dir;
findW sub { sayW $_ }, $dir;
finddepthW sub { sayW $_ }, $dir;
mkpathW $long_path_dir_name;
rmtreeW $tree;
cptreeW $from, $to
mvtreeW $from, $to;
my $dir_size = dir_size $dir;
my @file_list = file_list $dir;
my @dir_list = dir_list $dir;
# opendir
my $wdir = Win32::Unicode::Dir->new;
$wdir->open($dir) or die $!;
for ($wdir->fetch) {
next if /^\.{1,2}$/;
my $full_path = "$dir/$_";
if (file_type('f', $full_path)) {
# $_ is file
}
elsif (file_type('d', $full_path))
# $_ is directory
}
}
$wdir->close or die $!;
Wn32::Unicode is a perl unicode-friendly wrapper for win32api. This module many functions import :P.
Many features easy to use Perl because I think it looks identical to the standard function.
Switch Win32::Unicode::Native.
use Win32::Unicode '-native'; # eq use Win32::Unicode::Native
Yuji Shimada <xaicron@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Win32-Unicode documentation | Contained in the Win32-Unicode distribution. |
package Win32::Unicode; use strict; use warnings; use 5.008003; use Exporter (); our $VERSION = '0.25'; use Win32::Unicode::Console ':all'; use Win32::Unicode::File ':all'; use Win32::Unicode::Dir ':all'; use Win32::Unicode::Error ':all'; use Win32::Unicode::Process ':all'; # export subs our @EXPORT = ( @Win32::Unicode::Console::EXPORT, @Win32::Unicode::File::EXPORT, @Win32::Unicode::Dir::EXPORT, @Win32::Unicode::Error::EXPORT, @Win32::Unicode::Process::EXPORT, ); our @EXPORT_OK = ( @Win32::Unicode::Console::EXPORT_OK, @Win32::Unicode::File::EXPORT_OK, @Win32::Unicode::Dir::EXPORT_OK, @Win32::Unicode::Error::EXPORT_OK, @Win32::Unicode::Process::EXPORT_OK, ); our %EXPORT_TAGS = ( console => $Win32::Unicode::Console::EXPORT_TAGS{all}, file => $Win32::Unicode::File::EXPORT_TAGS{all}, dir => $Win32::Unicode::Dir::EXPORT_TAGS{all}, error => $Win32::Unicode::Error::EXPORT_TAGS{all}, process => $Win32::Unicode::Process::EXPORT_TAGS{all}, all => [@EXPORT, @EXPORT_OK], ); sub import { my $class = shift; my $caller = caller(0); my @args; for my $arg (@_) { if ($arg eq '-native') { require Win32::Unicode::Native; no strict 'refs'; map { *{"$caller\::$_"} = \&{"Win32::Unicode::Native::$_"}; } @Win32::Unicode::Native::EXPORT; } else { push @args, $arg; } } local $Exporter::ExportLevel = 1; Exporter::import($class, @args); } 1; __END__