#!/usr/bin/perl # vi:ts=4 sw=4 et: use strict; use warnings; #http://board.perl-community.de/thread/12073/#MSG7 #> global variables #> ---------------------------------------------------------------------------- my $last_num = undef; #> main script #> ---------------------------------------------------------------------------- while ( my $line = ) { chomp $line; if ( $line =~ m{^\s*$} ) { print "--8<--\n"; next; } my ( $code, $num, $name ) = split /\|/, $line; if ( defined $last_num ) { if ( $code ne '01' and $num ne $last_num ) { printf "%s|%s|%s\n", $code, $num, $name; } } $last_num = $num; } #> sub routines #> ---------------------------------------------------------------------------- __DATA__ 20|2-114-560|Mayer 01|2-114-560|Mayer 01|2-010-708|Huber 01|2-011-044|Bauer 10|2-147-169|Mayer 20|2-147-554|Bauer 01|2-147-695|Huber 10|2-147-169|Mayer 20|2-147-554|Bauer 30|2-148-554|Muster 01|2-147-695|Huber