#!/usr/bin/perl -l use strict; use warnings FATAL => "all"; my $stuff; { $/= undef; $stuff = ; } while ($stuff =~ /\n(.*?)<\/server>/msg){ print join ",", split "\n", $1 ; } __DATA__ printserver1 default cups cups printserver2 no aix rsh __END__ this returns printserver1,default,cups,cups printserver2,no,aix,rsh