Matlab coding Need help!

num1 =input('Enter your 1st number: ');
num2 =input('Enter your 2nd number: ');
 %returns an 1-by-num2 matrix of zeros
 PerfectNumber= zeros(1,num2);
 for pp = num1:num2 % pp = Potential Perfect number, variable for the range 
    if true
    pd = 1:pp-1;
    %test all potential numbers up to pp-1 because of the definition of a perfect number.
    %potential divisors, named 'pd' in the code
    if (sum(pd(mod(pp,pd) == 0)) == pp)
        %mod(pp,pd) returns the remainder after dividing pp by pd. 
        %If a number is a divisor, the remainder is 0, so mod return zero.
        %check if the sum of all divisors = pp
        PerfectNumber(pp) = pp;
        %it have found a perfect number and store this number in a variable 'output' at the pp'th position
           if false
        	else PerfectNumber (PerfectNumber == 0) = []; 
        	%all positions where output is 0 are replaced by the empty matrix []
       		 fprintf ('\nThe Perfect Numbers are : %d', PerfectNumber);
        	%And it will print out the name line + the perfect number
    %After this loop we have the perfect numbers at the position of the perfect numbers.
fprintf ('\nThe program ends here, Good bye %s !',un);
    %to inform the user that the program has ended or when the entry is invalid it end the program.

And my out put would be

 Enter your 2nd number: 50
 The Perfect Numbers are : 6
 The Perfect Numbers are : 6
 The Perfect Numbers are : 28
 The program ends here, Good bye  !>> ```

What should i do to my code so that it only print the line "The Perfect Numbers are : 6" once and not double like this.

Exit your loop after printing for the first time. I remember very little Matlab syntax, but you can either break out of the loop if your function needs to do more, or simply return.