Dear Tim,
I think your code is on the right track, as I got a modified
version of your code working. I never use getc...
In C, where getc originates, the getc function returns a
char type. The C char type is almost always 8 bits long.
By definition it doesn't support unicode, so neither does
Perl. It would be nice if they told you though.
My inner loop was simply:
while (<INFILE>) {
print OUTFILE join "-", /./g;
}
Which reads line by line, and outputs the line but with a
dash between each character.
The /./g bit is using the regex engine to match a single
character, and the next etc. It returns a list of characters.
Alternatively, and probably more readable, is split //
My simple test file included your example character, and
outputed:
H-e-l-l-o-�-W-o-r-l-d
Working character by character on an input stream is
extremely unpopular in perl. Why do so when perl provides
a VERY powerful (ir)regular expression engine.
> > Why are you doing this? Is most of your experience with C?
>
> I'm afraid to say that i do not qualify as a programmer having
> any knowledge at all.
You know where the beginners list is ;-) I like the fact you have
worked on the problem first. Minimum boilerplate for all scripts
should be:
use strict;
use warnings;
Documentation available via perldoc.
Jonathan Paton
--
#!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>