in reply to Regex and splitting

Here's another regex w/split:

use warnings; use strict; use 5.010; map{say /(.*),/} (split /:/)[1] while <DATA>; __DATA__ host1 dns:192.168.243.30,asdf host2 dns:192.168.243.1,qwert

Actually, by studying split, your are also studying regexes, since split takes a regex.

There are excellent solutions above, including AnomalousMonk's showing how to leverage modules, so you don't need to reinvent the (regex) wheel.

Perl's "There's more than one way to do it" (TMTOWTDI) dictum is clearly evidenced by the many responses to your query, and it can be justifiably asserted about these that--as Adrian Monk says--"It's a blessing, and a curse."