Hi,

Not had the misfortune to need to play with this stuff, but I guess
the documentation for perl is a good place to start:

perldoc perl

Particularly:

perldoc perluniintro
perldoc perlunicode

Some aspects are version dependent, so make sure your script
insists on a minimum version of perl.

Why are you doing this?  Is most of your experience with C?

Jonathan Paton

On Thu, 16 Dec 2004 19:18:06 +0200, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Hello,
> 
> i have intensively searched the web for a solution on the following problem, 
> but could not find any indication for it.
> 
> The following code does basicelly nothing else then reading in a file on 
> single char basis and writing it to a file again. The input file is encoded 
> as UTF-8 as well as the output file i want to create. I read in the 
> characters by using getc().
> However i still get incorrect results in my output-file. Does anybody know of 
> mistakes i do when combining getc() with reading unicode files?
> 
> Any input is greatly appreciated. Thanks very much in advance!
> 
> Tim
> 
> ( I am using Perl 5.8.5 on Intel SuSE 9.2)
> 
> ..
> 
> open(INFILE, "< $ARGV[0]") || die "\nCannot open from-file!";
> open(OUTFILE, "> $ARGV[1]") || die "\nCannot create to-file!";
> 
> binmode(OUTFILE, ":utf8");
> binmode(INFILE, ":utf8");
> 
> ..
> 
> while(!eof(INFILE)) {
> 
>   for ($i = 1; $i < $Ntes_Zeichen; $i++) {
> 
>     $dummy = getc(INFILE); if (eof(INFILE)) {exit}
>     print OUTFILE $dummy;
> 
>   }
> 
>   $dummy = getc(INFILE);
>   print OUTFILE $ersetze_durch;
> 
> }
> 
> close(INFILE);
> close(OUTFILE);
> 
> Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
>   Platform:
>     osname=linux, osvers=2.6.8.1, archname=i586-linux-thread-multi
>     uname='linux g168 2.6.8.1 #1 smp thu jul 1 15:23:45 utc 2004 i686 i686 
> i386 gnulinux '
>     config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl 
> -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm-Duseshrplib=true -Doptimize=-O2 
> -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -Wall -pipe'
>     hint=recommended, useposix=true, d_sigaction=define
>     usethreads=define use5005threads=undef useithreads=define 
> usemultiplicity=define
>     useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
>     use64bitint=undef use64bitall=undef uselongdouble=undef
>     usemymalloc=n, bincompat5005=undef
>   Compiler:
>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
> -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>     optimize='-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -Wall 
> -pipe',
>     cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
> -fno-strict-aliasing -pipe'
>     ccversion='', gccversion='3.3.4 (pre 3.3.5 20040809)', gccosandvers=''
>     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
>     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
> lseeksize=8
>     alignbytes=4, prototype=define
>   Linker and Libraries:
>     ld='cc', ldflags =''
>     libpth=/lib /usr/lib /usr/local/lib
>     libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
>     libc=, so=so, useshrplib=true, libperl=libperl.so
>     gnulibc_version='2.3.3'
>   Dynamic Linking:
>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E 
> -Wl,-rpath,/usr/lib/perl5/5.8.5/i586-linux-thread-multi/CORE'
>     cccdlflags='-fPIC', lddlflags='-shared'
> 
> Characteristics of this binary (from libperl):
>   Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES 
> PERL_IMPLICIT_CONTEXT
>   Built under linux
>   Compiled at Oct  1 2004 23:30:38
>   @INC:
>     /usr/lib/perl5/5.8.5/i586-linux-thread-multi
>     /usr/lib/perl5/5.8.5
>     /usr/lib/perl5/site_perl/5.8.5/i586-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.8.5
>     /usr/lib/perl5/site_perl
>     /usr/lib/perl5/vendor_perl/5.8.5/i586-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.8.5
>     /usr/lib/perl5/vendor_perl
> 
> __________________________________________________________
> Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
> weltweit telefonieren! http://freephone.web.de/?mc=021201
> 
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> <http://learn.perl.org/> <http://learn.perl.org/first-response>
> 
> 


-- 
#!perl
$J=' 'x25 ;for (qq< 1+10 9+14 5-10 50-9 7+13 2-18 6+13
17+6 02+1 2-10 00+4 00+8 3-13 3+12 01-5 2-10 01+1 03+4
00+4 00+8 1-21 01+1 00+5 01-7 >=~/ \S\S \S\S /gx) {m/(
\d+) (.+) /x,, vec$ J,$p +=$2 ,8,= $c+= +$1} warn $J,,

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to