while (my $line=<>) { $line =~ /(\S+)\s+(.+?)\s*((?:Last|Never).+)/; print "$1::$2::$3\n"; } #### flexlm::FlexLM license manag::Never logged in m12345::Shmoe,Ronald K.::Last login Thu May 1 14:11:54 2003 (160 days ago) m54321::O'Schmoe,Karen D.::Last login Sun Sep 29 15:39:43 2002 (374 days ago m54321::O'Schmoe,Karen D.::Last login Sun Sep 29 15:39:43 2002 (374 days ago mresw3::Joe-Schmoe,Mira::Never logged in mdsjlk::Schmoe, Robert L.::Last login Thu Sep 12 15:41:11 2002 (391 days ago) oracle::OraSchmoe Oracle user::Never logged in sshd::OpenSchmoe Privilege Se::Never logged in web::suitespot,httpd serv::Never logged in