#!/usr/bin/perl use warnings; use strict; while () { my @columns = do { my $s; map $s += length, /(\s*-+)/mg } ; print "@columns\n"; } # Output: # # 13 40 50 56 83 90 96 109 122 # 14 22 __DATA__ ---------- ------------------------- -------- ---- ------------------------- ----- ---- ----------- ----------- ----------- ------