while () { chomp; tr/A-Za-z0-9//cd; my ($number, $extension, $overflow) = split /[A-Za-z]+/; if ($overflow) { warn "Don't know how to handle number '$_'.\n"; next; } print "Number: $number"; print ", extension: $extension" if defined $extension and length $extension; print "\n"; } __DATA__ (555) 555-5555 555.555.5555 555-555-5555 (555)555.5555 (555) 555-5555 x.555 555.555.5555 Ext. 555 555-555-5555 ext.555