# Wirkung der Locale auf AWK-Zahlen

# getestet mit Gawk 3.1.3 und 3.1.5 unter Scientific Linux 4.3

awk_command='BEGIN { print 1.5, a, a + 0, a + 1.2, a + 1/3, a "", a == 1.3 }'

# Locales: de_DE.UTF-8, de_DE@euro
#
# durch die Initalisierung einer Variablen (hier konkret "a") auf der
# Kommandozeile verliert in diesen Locales der Dezimalpunkt innerhalb des
# AWK-Programms seine Wirkung, so dass Floating-Point-Konstanten nur noch als
# ganzzahlige Konstanten gewertet werden
#
LC_ALL=de_DE.UTF-8 awk -v a=1.3 "$awk_command"
LC_ALL=de_DE@euro awk -v a=1.3 "$awk_command"

# Ausgabe:
# 1 1.3 1,3 2,3 1,63333 1.3 0

# laut Handbuch wird bei numerischen AWK-Konstanten auf der Kommanozeile (Option -v)
# sowie in Programm-Quelltexten generell der Dezimalpunkt akzeptiert, was ohne -v
# auch so funktioniert
#
LC_ALL=de_DE.UTF-8 awk "$awk_command"

# Ausgabe:
# 1,5  0 1,2 0,333333  0

# Locale: C
#
# hier tritt obiges Problem nicht auf
#
LC_ALL=C awk -v a=1.3 "$awk_command"

# Ausgabe:
# 1.5 1.3 1.3 2.5 1.63333 1.3 1

