Where does the installation store the backup?
I never said that the installation would create a backup. You should have a backup of your computers' data. If not, the data on your computer can't be important for you.
I don't know all the modules I've installed over the past years
The cpan tool does. Issuing the autobundle command will create a list that can be parsed by cpan.
BTW -- There is only one folder for perl, namely "c:\strawberry". The windoz path variable has the correct folder. I looked in the env vars and there is nothing there except the path. I noticed in control panel that there are two programs listed (the old and the new).
Yes, as I wrote before: You have completely messed up your Strawberry Perl installation. Use your existing backup, restore to the point before you installed 5.22. Then continue as I wrote before.
I don't want to uninstall the old as I will probably lose my installed modules.
That's why people make backups.
I think there is a way that could work without a backup of 5.18.1. Make a backup of the current state before trying it, because I may be wrong, and following this UNTESTED procedure may make things even worse.
- Search the file perllocal.pod, it contains a list of all installed packages.
- Look at the contents. Maybe 5.22 has overwritten it, in that case, it would be quite short and does not contain your manually installed modules.
- If perllocal.pod looks good (i.e. is from 5.18.1), copy it somewhere else.
- Uninstall 5.22 from control panel. This will (hopefully) delete all files that 5.22 installed, both new ones and updated ones. But it should not uninstall modules that did not come with 5.22. So you will end with a 5.18.1 that lacks most of its files, but with your extra 5.18.1 modules intact.
- Install 5.18.1 from the original installer file. If the installer offers to repair the installation, go the repair way. If not, just install it. This will add the missing files.
- If the installer refuses to install, you need some extra steps:
- Make a copy of the entire strawberry directory tree.
- Uninstall 5.18.1 from control panel.
- Install 5.18.1 from the original installer file.
- Copy the copy of the old strawberry directory tree back over the current strawberry directory, overwriting any existing files.
Now, you should have a working 5.18.1 installation.
- Use the cpan tool's autobundle command to create a snapshot, copy Bundle::Snapshot_*, look at it and search for some modules that you installed manually.
- If your modules are missing, maybe the perllocal.pod copy from the first is still intact. Make a list of modules you have to install in 5.22.
- If perllocal.pod was overwritten by 5.22, you are less lucky. Browse c:\strawberry\perl\site\lib to find what modules are currently there. Make a list of modules you have to install in 5.22.
- Uninstall 5.18.1 from the control panel, and delete the remaining strawberry directory tree.
- Install 5.22.
- Run the cpan tool and, if autobundle listed all of your modules, install Bundle::Snapshot_*. If not, go through your list of modules to be installed.
- MAKE A BACKUP!
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)