#! perl -slw use strict; while( my $line = ) { chomp $line; my @l27s; push @l27s, pack 'a27', substr( $line, 0, 1+rindex( $line, ' ', 27 ), '' ) while length $line > 27; push @l27s, pack 'a27', $line; print '123456789012345678901234567', $/, '------'; print "$_<"for @l27s; print '--------', $/; } __DATA__ 1234567890 VON 14.06.2004 BUCHUNGSKONTO 1234567890 012345678-A1234567 INCL.EUR 3,31 MWST JULI MONATL. GEB HR T-DSL FLAT 01.07.04-3 #### P:\test>373533 123456789012345678901234567 ------ 1234567890 VON 14.06.2004 < BUCHUNGSKONTO 1234567890 < -------- 123456789012345678901234567 ------ 012345678-A1234567 INCL.EUR< 3,31 MWST JULI MONATL. GEB < HR T-DSL FLAT 01.07.04-3 < --------