my $buffer = "\04perl\03awk\01C"; my @a = $buffer =~ /(.)(.{ord \1})/g; #### use re 'eval'; my $buffer = "\04perl\03awk\01C"; my @a = $buffer =~ /(.)(?{$len = ord $1})(.{$len})/g;