open(FH, '< vhosts.conf'); my $content = do {local $/; }; while ($content =~ m|(.*?)|sg) { my $vhost = $1; my ($name) = $vhost =~ m/ServerName\s(\S+)/; open(OUT, "> $name.conf") or die "Can't open outfile $name: $!\n"; print OUT $vhost; close(OUT); }