I used Win32::FormatMessage(Win32::GetLastError()) but it returns
The operation completed successfully
for both icons (those the do and doe that don't give undef).
It even says the same thing if I use a pl file instead of ico,
Seems to me to be pretty equivalent to the -e operator.