##### #read passwd into @pwfile #### foreach (@pwfile) { if (/^$old_userid:.*/) { $line = $_; }else{ push(@new_pwfile, $_); } } ($userid, $passwd, $uid, $gid, $gcos, $name, $home, $shell) = split(':', $line); $new_line = join(':', $login, $new_passwd, $uid, $gid, $gcos, $home, $shell); push(@new_pwfile, $new_line); ##### #write @new_pwfile to file, swap into place #####