I am struggling with a large legacy module that compiles for one user and not for another user on the same system. I've run Deparser against the same file using the two different users and it produces unexpectedly different output.

root # perl -MO=Deparse webDB.pm package webDB; sub BEGIN { use strict 'refs'; require vars; do { 'vars'->import('$VERSION', '@ISA', '@EXPORT', '@EXPORT_OK') }; } use strict 'refs'; require Exporter; @ISA = 'Exporter'; @EXPORT = (); @EXPORT_OK = (); $VERSION = '1.00'; use DBI;

root has no trouble with this module, reporting syntax ok. But another user...

cabocron # perl -MO=Deparse webDB.pm Undefined subroutine &webDB::getRecord called at webSubs.pm line 1233. Compilation failed in require at webDB.pm line 26. BEGIN failed--compilation aborted at webDB.pm line 26. package webDB; sub BEGIN { use strict 'refs'; require vars; do { 'vars'->import('$VERSION', '@ISA', '@EXPORT', '@EXPORT_OK') }; } use DBI; ...

What would cause Deparser to produce different output for the same file, but different users? And what happened to Exporter for the second user?

I've looked at the environment and they seem identical. I also checked that both users are using the same perl executable. I have also been unsuccessful in creating a generic case, and this problem only occurs on our live server, not our development environment (naturally).

Any wisdom of the monks would be appreciated.


In reply to Deparse produces different output for a different user by jameshow

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.