[bash] reassigning referenced variables in functions

Hello all,

Problem.
----------
I'm trying to reassign a referenced variable passed to a 'local'
variable in a function but the local variable refuses to be assigned
the content of the referenced variable.

Any ideas would be appreciated.

Objective.
-----------
Eliminate all $VAR variable format and pass function parameters
as referenced variables, i.e. VAR, to standardise, simplify and
minimise soft errors. In addition, the function has to be self
contained for reuseability purposes.

As long as the calling of the function occurs with referenced
variables, reassignment to local variables within functions can
be passed by value.

Examples.
------------

passing variables by value
------------------------------
declare VAR1
declare VAR2=/path/to/file/or/directory
func_name VAR1 $VAR2
echo returned value from function VAR1 = $VAR1

function func_name
{
local FVAR1
local FVAR2=$2
FVAR1= # do something with FVAR2 and assign it to variable
eval "$1=$FVAR1"
}

This method works OK. However,

required methodology
-------------------------
# call function without using $VAR method
func_name VAR1 VAR2

# assign referenced variable VAR2 to local variable FVAR2
# using what would have seemed to be the logical method
# i.e. the reverse of assigning values to referenced variables
# as in the end of the function above
local FVAR2; eval "$FVAR2=$2"
# The above method seems to treat the expression as a command
# and the following error message is issued,
# =VAR2: command not found

# this assigns the name of the reference variable
local FVAR2; eval "FVAR2=$2"
# result: FVAR2=VAR2

Conclusion.
-------------
Using 'eval' to reassign referenced variables in reverse, in
contrast to assigning values to referenced variables,
doesn't work, i.e. eval "$1=$VAR" (OK), eval "$VAR=$1" (NOT OK)

Also, I tried using various combinations of brackets and a method
used to pass arrays by value (1) but still no success.

References:
-------------
1) Bash array passing-by-value - Thank Google!

what do you know...

After several more attempts, I seem to have solved the problem. Might
not be the best solution but it seems to work. Essentially, it's a hack from
the link above that reassigns an array by passing values.

To assign a value from a referenced variable to another variable in a function,

for a string:
FVAR_STR=( $(eval "echo \$$1") )

and for an integer:
FVAR_INT=( $(eval "echo \$1") )

A.