The '$' being used in variable names I think originates from the word 'string', from when it was necessary to differentiate types of variable in the code. It never related to currency.
One counter-example I know first hand: Sinclair ROM BASIC uses $ for denoting strings, in both variable and function names.
The one I have in a Spectrum is copyrighted 1982, around 5 years before first Perl was released.
I'm sure there are older examples like this.