Hi,
unless this bug is already fixed in some way
https://groups.google.com/forum/?fromgroups=#!topic/gnu.bash.bug/xpZl_-eiFCY
...I've created a tiny patch that should fix it.
Cheers,
Ondrej.
diff -up bash-upstream/general.h.patch bash-upstream/general.h
--- bash-upstream/general.h.patch 2012-08-21 13:42:47.136632611 +0200
+++ bash-upstream/general.h 2012-08-21 13:43:08.558613627 +0200
@@ -104,7 +104,7 @@ extern char *strcpy __P((char *, const c
/* Define exactly what a legal shell identifier consists of. */
#define legal_variable_starter(c) (ISALPHA(c) || (c == '_'))
-#define legal_variable_char(c) (ISALNUM(c) || c == '_')
+#define legal_variable_char(c) (ISALNUM(c) || c == '_'|| c == '.')
/* Definitions used in subst.c and by the `read' builtin for field
splitting. */