perflect