$schema->resultset("UserScenario")->update_or_create( { name => $user_scenario->{name}, description => $user_scenario->{description}, }, { key => "u_user_scenario_name" }, ); #### $schema->resultset("UserScenario")->update_or_create( { name => $user_scenario->{name}, }, { key => "u_user_scenario_name" }, ); #### if (defined($user_scenario->{description}) { $schema->resultset("UserScenario")->update_or_create( { name => $user_scenario->{name}, description => $user_scenario->{description}, }, { key => "u_user_scenario_name" }, ); } else { $schema->resultset("UserScenario")->update_or_create( { name => $user_scenario->{name}, }, { key => "u_user_scenario_name" }, ); } #### $schema->resultset("UserScenario")->update_or_create( { name => $user_scenario->{name}, ( defined($user_scenario->{description}) ? ( description => $user_scenario->{description} ) : () ), }, { key => "u_user_scenario_name" }, ); #### 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" }, );