You will need to qualify the subselect with per_id that you are updating (the WHERE clause as you use it is redundant, by the way - I think you will notice that):
Code:
EMPLOYEE_TIME_CARD_TEST1 LEFT JOIN CUST_COMPENSATION
ON Cust_Compensation.PER_ID =EMPLOYEE_TIME_CARD_TEST1.PER_ID
WHERE EMPLOYEE_TIME_CARD_TEST1.PER_ID = new1.per_id
You will need to handle as well the situation where the subselect returns NULL.