#! perl -slw use strict; use 5.008; my $utfdata = join'',map{ chr(0xffff + $_) } 1 .. 100; print length $utfdata; #! Gives 100 my @bytes = unpack 'C*', $utfdata; print scalar @bytes; #! Gives 400 my $chunk = substr $utfdata, 0, 100; print length $chunk; #! Gives 100 @bytes = unpack 'C*', $chunk; print scalar @bytes; #! Gives 400 { use bytes; print length $utfdata; #! Gives 400 print length $chunk; #! Gives 400 } my @chunks = unpack '(a100)*', $utfdata; print scalar @chunks; #! Gives 4 print "@{[ map{length} @chunks ]}"; #! Gives 100 100 100 100