1/^dl_load_file/a
2.
3/SaveError(aTHX_ "%s",dlerror())/c
4    {
5	char *error = dlerror();
6#ifdef __LP64__
7	char *cp;
8	char *err = NULL;
9#endif /* __LP64__ */
10	if (!error) error = "Unknown dlopen error";
11#ifdef __LP64__
12	else if ((cp = strstr(error, ": no matching architecture in universal wrapper")) != NULL) {
13	    char *p = strchr(error, '\t');
14	    if (p && ++p < cp) {
15		    asprintf(&err, "%.*s: no appropriate 64-bit architecture (see \"man perl\" for running in 32-bit mode)", (cp - p), p);
16		    if (err) error = err;
17	    }
18	}
19#endif /* __LP64__ */
20	SaveError(aTHX_ "%s", error);
21#ifdef __LP64__
22	if (err) free(err);
23#endif /* __LP64__ */
24    }
25.
26w
27