If we pass by value..Inside the subroutine if you change the value it will not have effect (means it will not change the value) in the calling place.
If we pass by reference…Inside the subroutine if you change the value it will change in the calling place..Means it will share the same memory..