$ perl -Mstrict -Mwarnings -e ' use Scalar::Util qw{dualvar}; my @string_array = ( "Hello, my name is John", "How are you?", "blah (blah)", ); my @count_array; my $last_count = 0; for (@string_array) { push @count_array => dualvar $last_count, $_; $last_count += length; } printf "%08d %s\n" => $_, $_ for @count_array; ' 00000000 Hello, my name is John 00000022 How are you? 00000034 blah (blah)