in reply to A string that begins whit $

You are telling Perl to run the command: echo $GPGLL,577.015,N,10201.076,E, go type that command in by hand and see what gets output.

You see, Perl see that there is a $ in the command that you asked it to run so it runs /bin/sh and tells it to interpret the command for you. /bin/sh replaces $GPGLL with the value of the GPGLL environment (or shell) variable. But there is probably no such variable so the value is just the empty string.

So, as suggested, just use: print $gpsdata,$/; instead (the $/ puts a newline on the end).

You could also use: system("echo",$gpsdata); because when you give more than one item to system, it prevents the shell from interpreting the arguments that you asked to be passed to the command. But, in this case, the simple print is a much better choice.

See "perldoc -f system" for more information.

        - tye (but my friends call me "Tye")