while () { chomp; my ($userid, $password, $net_service_name) = m#'?([^@/']+)?(/[^@/']+)?(@[^@/']+)?'?#; print "]]$_\[\[ \tis parsed as \[$userid] \[$password] [$net_service_name]\n" } # while __DATA__ >>SYS/change_on_install@prod1<< <@prod1> >>rman/rman@rcat<< <@rcat> >>SYS<< <> <> >>/<< <> <> >>/fooey<< <> <> >>/fooey@foobar<< <> <@foobar> >>SYS@foobar<< <> <@foobar> >>'simple/fooey@foobar'<< <@foobar>