It looks like it's loading it correctly:
18076: stat64("/usr/local/lib/perl5/5.6.1/sun4-solaris/strict.pmc", 0
+xFFBEF068) Err#2 ENOENT
18076: open64("/usr/local/lib/perl5/5.6.1/sun4-solaris/strict.pm", O_
+RDONLY) Err#2 ENOENT
18076: stat64("/usr/local/lib/perl5/5.6.1/strict.pmc", 0xFFBEF068) Er
+r#2 ENOENT
18076: open64("/usr/local/lib/perl5/5.6.1/strict.pm", O_RDONLY) = 4
18076: brk(0x00104800) = 0
18076: fstat64(4, 0xFFBEC950) = 0
18076: brk(0x00108800) = 0
18076: ioctl(4, TCGETA, 0xFFBEC8DC) Err#25 ENOTTY
18076: read(4, " p a c k a g e s t r i".., 8192) = 2624
18076: brk(0x00109800) = 0
18076: brk(0x0010A800) = 0
18076: read(4, 0x0010480C, 8192) = 0
18076: llseek(4, 0, SEEK_CUR) = 2624
18076: close(4) = 0
You can see at the top of the snippet (from truss.out.strict_on) that it is trying to "stat" and "open" strict.pm in different locations, and the last one succeeds (returning a file handle number, 4). The following lines show perl reading
in the file and closing it again.
Did you actually get an error when you ran the script with truss? You really need to stick the truss in the place where the script is giving you the error.
Update: He found his problem. It was permissions on the directory strict.pm was in. |