#!/usr/bin/perl # vi:ts=4 sw=4 et: use strict; use warnings; { # jeder block ende mit folgendem string local $/ = "\n"; # lese blockweise ein while ( my $block = ) { $block =~ s{(.+)(.+?)(.+\n)$}{$1$3$2}gsm; print $block; } } __DATA__ 1 blabla1 blabla2 blabla3 blabla4 2 blabla1 blabla2 blabla3 blabla4 3 blabla1 blabla2 blabla3 blabla4 4 blabla1 blabla2 blabla3 blabla4 1 5 blabla1 blabla2 blabla3 blabla4 6 blabla1 blabla2 blabla3 blabla4 7 blabla1 2