in reply to Alignment of text using regex
Another option.
#! perl -sw use strict; print pack 'A45 A*', split /\|/ while <DATA>; __DATA__ ABCDEFGHIJKLMNOPQRST|1234 ABCDEFGHI|12345 ABCDE|1234 ABCDEFGHIJKL|123 ABCDEFG|123456 ABCDEFGHIJKLMNO|12 [download]