Fileglob jako UTF-8?
Honza Pazdziora
adelton na fi.muni.cz
Neděle Březen 8 20:46:05 CET 2009
On Fri, Mar 06, 2009 at 12:02:27PM +0100, Jan Kasprzak wrote:
> Nevite nekdo jak rict Perlu, ze soubory na disku mam pojmenovane
> v UTF-8 tak, aby konstrukce typu <*.txt> vracely znakovy a ne bajtovy
> retezec? V perlunicode(1) se globy uvadi v sekci "When Unicode Does Not Happen",
> ale treba lze Perl nejak prinutit, aby fakt cetl globy jako znaky a ne bajty.
Jak to čte to asi nezměníš -- on dělá readdir a getdents mu to vrátí
jako bajty.
Předpokládám ale, že Ti jde spíš o to, aby ten glob to vrátil jako
UTF-8 řetězce, a pak mi přijde nejjednodušší to prostě na ty řetězce
pře-decodovat.
Čili něco jako
use Encode ();
sub utf8_glob {
return map { Encode::decode("utf-8", $_) }
File::Glob::glob(@_);
}
*CORE::GLOBAL::glob = \&utf8_glob;
Je to to, co hledáš?
--
--------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Satellite, Spacewalk | Only self-confident people can be simple.
Další informace o konferenci Perl