Fileglob jako UTF-8?

Jan Kasprzak kas na fi.muni.cz
Úterý Březen 10 09:41:09 CET 2009


Honza Pazdziora wrote:
: 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áš?

	Jo, neco takoveho. Diky. Predpokladam ze pujde i

local *CORE::GLOBAL::glob = ...

a mit tak toto nastaveni jen uvnitr bloku. V mod_perlu je jinak potom problem,
ze nevim kdo prijde do tehoz Perlu po me a co vsechno mu pokazim.

-Y.

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/    Journal: http://www.fi.muni.cz/~kas/blog/ |
>>  If you find yourself arguing with Alan Cox, you’re _probably_ wrong.  <<
>>     --James Morris in "How and Why You Should Become a Kernel Hacker"  <<


Další informace o konferenci Perl