Awk print statement alters the argument variable's content
Lundberg Christer
christer.lundberg@scania.com
Thu Jan 12 12:26:00 GMT 2017
This program run with GNU awk 4.1.4 (currently installed with Cygwin):
awk '
BEGIN { OFMT="%.8g"
buf = 1+0.1
buf = buf "a"
print "Length before print:", length(buf)
print buf " "
print buf
print buf " "
print "Length after print:", length(buf)
}
'
produces the following output on our system:
Length before print: 4
1.1a
1.1
1.1
Length after print: 3
so it appears that the "print buf" statement unexpectedly alters the content of buf.
With awk 4.1.3, we got the expected output
Length before print: 4
1.1a
1.1a
1.1a
Length after print: 4
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list