#!/usr/bin/perl -wl my $buffer = "\04perl\03awk\01C"; # Try this incomplete string # my $buffer = "\04perl\03awk\01C\6pytho"; while ((my $size = ord $buffer) < length $buffer) { print unpack 'C/a', $buffer; substr $buffer, 0, $size +1, ''; } print "<$buffer>";