my %fields; $fields{name} = $user_scenario->{name}; $fields{description} = $user_scenario->{description} if defined($fields{description}); $schema->resultset("UserScenario")->update_or_create( \%fields, { key => "u_user_scenario_name" }, );