The attached TGC will shift the noise left.
To change the direction the noise travels, enter a positive or negative value in the constant vectot 'Direction'. ie -1,0,0 will move the noise right. 0,-1,0 will move it up. 0,-1,-1 up and forwards.
The way this works....
Get Frame returns a single number (scaler), and we can multiply the effect the Get frame has with another scaler. So entering 10 in the speed multiplier will mean what ever the Get frame is, our out come will be 10 times that. So rather than move 1m per frame, we are now moving 10m per frame.
When you multiply a Scaler (in this case 10 on frame 1) with a Vector, the single number of a constant tries to multiply x,y,z of an input vector by that amount. So at frame 1, 10 will be multiplied by our 'Direction' vector in x,y,z (-1,0,0), which gives a return of (-10,0,0).
Get position returns a vector value for x,y,z. So when we add the vector worked out above, we get (x-10,y,z) on frame 1. On frame 2 the answer will be (x-20,y,z). And so on.
When you plug that into a perlin function, it will offset what ever point the get position is looking at at render time, by -10m in x, in effect shifting the perlin pattern left.
Why is this usefull?
Well, because 1/ there are no keyframes to worry about, just direction and speed. 2/ TG automatically adds an ease out and in on each key frame, which is no good if we want to animate something that has a constant speed, like clouds, water, etc.
As for your scaling noise from a central point, not found anything yet.