emanuele6 1658292986 learn somefun () { local old_rematch_declaration=${BASH_REMATCH[@]@A}; ...; [[ $str =~ $re ]]; ...; unset -v BASH_REMATCH; eval -- "${old_rematch_declaration/-/-g}" ;} emanuele6 1658918494 forget emanuele6 1658918719 learn somefun () { local old_rematch_attrs=${BASH_REMATCH@a} old_rematch_decl=${BASH_REMATCH[@]@A}; ...; [[ $str =~ $re ]]; ...; unset -v BASH_REMATCH; if [[ $old_rematch_attrs ]]; then eval -- "${old_rematch_decl/-/-g}"; elif [[ $old_rematch_decl ]]; then eval declare -g -- "$old_bash_rematch_declaration"; fi ;} emanuele6 1658919293 forget emanuele6 1658919316 learn somefun () { local old_rematch_attrs=${BASH_REMATCH@a} old_rematch_decl=${BASH_REMATCH[@]@A}; ...; [[ $str =~ $re ]]; ...; unset -v BASH_REMATCH; if [[ $old_rematch_attrs ]]; then eval -- "${old_rematch_decl/-/-g}"; elif [[ $old_rematch_decl ]]; then eval declare -g -- "$old_rematch_decl"; fi ;} emanuele6 1664842789 forget emanuele6 1664842799 learn somefun () { local obr=${BASH_REMATCH[@]@A}; if [[ $obr ]]; then if [[ ${BASH_REMATCH@a} ]]; then obr=${obr/-/-g}; else obr='declare -g'$obr; fi elif declare -p BASH_REMATCH &>/dev/null; then obr='declare -g BASH_REMATCH'; fi; ...; [[ $str =~ $re ]]; ...; unset -v BASH_REMATCH; eval -- "$obr" ;} emanuele6 1664842876 forget emanuele6 1664842883 learn somefun () { local obr=${BASH_REMATCH[@]@A}; if [[ $obr ]]; then if [[ ${BASH_REMATCH@a} ]]; then obr=${obr/-/-g}; else obr='declare -g'$obr; fi elif declare -p BASH_REMATCH > /dev/null 2>&1; then obr='declare -g BASH_REMATCH'; fi; ...; [[ $str =~ $re ]]; ...; unset -v BASH_REMATCH; eval -- "$obr" ;} emanuele6 1675766392 forget emanuele6 1675766398 learn somefun () { local obr=${BASH_REMATCH[*]@A}; if [[ $obr ]]; then if [[ ${BASH_REMATCH@a} ]]; then obr=${obr/-/-g}; else obr='declare -g '$obr; fi elif declare -p BASH_REMATCH > /dev/null 2>&1; then obr='declare -g BASH_REMATCH'; fi; ...; [[ $str =~ $re ]]; ...; unset -v BASH_REMATCH; eval " $obr" ;}