#!/usr/bin/perl -w use strict; while () { next if /^\s*$/; #skip blank lines chomp; #optional as \n would get deleted anyway s/^.*?start\s+//; #remove start and all before s/end.*//; #remove end and all after print "$_\n"; } #prints: # asdasd asdasdasd asdasdas # as asdas dasdasdad asdasddas # asdsadsdasddasds sdasdas asdasdasdasd asdasdsa asdasd asdasdasd __DATA__ asdasd start asdasd asdasdasd asdasdas end asdasdas adasdas start as asdas dasdasdad asdasddas end qweqwe asdasd start asdsadsdasddasds sdasdas asdasdasdasd asdasdsa asdasd asdasdasd end