Please see Understanding 2D Perlin noise
This will point you to understanding how the values are derived by the function initially and how to make use of it. Also coding train has some good introductions to perlin.
Also you might want to check javidx9 ’ channel who makes his own perlin noise in c++. Language is different but algorithm is sound.