Subject: | a bug in IPC-System-Simple |
My problem is that I cannot inhibit variable interpolation, etc. under
capturex, under IPC-System-Simple-1.18!
I call the following line:
my @lines = eval(capturex(EXIT_ANY, "$GREP", $mid , @FILES));
where $GREP is the path to grep, @FILES are the files to check, and
$mid is a pattern containing a message-id mail header. It is $mid that
does not pass! Either I quotemeta() protect it fully, and the pattern
is not found by grep, or capturex producees a stack dump about
"Possible unintended interpolation of ...". Here is the correct
pattern for grep:
^Message-[Ii][Dd]: *<4A233B7B98624E2C8039746A8A06D1D9\@KarenPC>
The anti-slash, \, is not necessary for grep.
The system perl function does not have this problem! The error
messages are appended at the end!
perl -v:
This is perl, v5.8.0 built for sun4-solaris
uname -a:
SunOS sareena 5.8 Generic_108528-19 sun4u sparc SUNW,Sun-Blade-100
Error messages:
Possible unintended interpolation of @KarenPC in string at (eval 16)[/
home/sobek/bin/compare-mail-folders:148] line 1.
eval 'surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
;' called at /home/sobek/bin/compare-mail-folders line 148
main::chk_msg_id('4A233B7B98624E2C8039746A8A06D1D9@KarenPC')
called at /home/sobek/bin/compare-mail-folders line 91
Bareword found where operator expected at (eval 16)[/home/sobek/bin/
compare-mail-folders:148] line 2, near
"<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames"
eval 'surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
;' called at /home/sobek/bin/compare-mail-folders line 148
main::chk_msg_id('4A233B7B98624E2C8039746A8A06D1D9@KarenPC')
called at /home/sobek/bin/compare-mail-folders line 91
(Missing operator before surnames?)
eval 'surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
;' called at /home/sobek/bin/compare-mail-folders line 148
main::chk_msg_id('4A233B7B98624E2C8039746A8A06D1D9@KarenPC')
called at /home/sobek/bin/compare-mail-folders line 91
Possible unintended interpolation of @KarenPC in string at (eval 16)[/
home/sobek/bin/compare-mail-folders:148] line 2.
eval 'surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
;' called at /home/sobek/bin/compare-mail-folders line 148
main::chk_msg_id('4A233B7B98624E2C8039746A8A06D1D9@KarenPC')
called at /home/sobek/bin/compare-mail-folders line 91
Bareword found where operator expected at (eval 16)[/home/sobek/bin/
compare-mail-folders:148] line 3, near
"<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames"
eval 'surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
;' called at /home/sobek/bin/compare-mail-folders line 148
main::chk_msg_id('4A233B7B98624E2C8039746A8A06D1D9@KarenPC')
called at /home/sobek/bin/compare-mail-folders line 91
(Missing operator before surnames?)
eval 'surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
;' called at /home/sobek/bin/compare-mail-folders line 148
main::chk_msg_id('4A233B7B98624E2C8039746A8A06D1D9@KarenPC')
called at /home/sobek/bin/compare-mail-folders line 91
Possible unintended interpolation of @KarenPC in string at (eval 16)[/
home/sobek/bin/compare-mail-folders:148] line 3.
eval 'surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
;' called at /home/sobek/bin/compare-mail-folders line 148
main::chk_msg_id('4A233B7B98624E2C8039746A8A06D1D9@KarenPC')
called at /home/sobek/bin/compare-mail-folders line 91
Error abort = Illegal octal digit '8' at (eval 16)[/home/sobek/bin/
compare-mail-folders:148] line 1, at end of line
syntax error at (eval 16)[/home/sobek/bin/compare-mail-folders:148]
line 1, near "31:"
Global symbol "@KarenPC" requires explicit package name at (eval 16)[/
home/sobek/bin/compare-mail-folders:148] line 1.
Illegal octal digit '8' at (eval 16)[/home/sobek/bin/compare-mail-
folders:148] line 2, at end of line
Global symbol "@KarenPC" requires explicit package name at (eval 16)[/
home/sobek/bin/compare-mail-folders:148] line 2.
Illegal octal digit '8' at (eval 16)[/home/sobek/bin/compare-mail-
folders:148] line 3, at end of line
Global symbol "@KarenPC" requires explicit package name at (eval 16)[/
home/sobek/bin/compare-mail-folders:148] line 3.
The lines listed as:
surnames.family.08-31:Message-ID:
<4A233B7B98624E2C8039746A8A06D1D9@KarenPC>
are the 3 $result lines of the grep function. The $result does NOT
make it through!
Sincerely,
--Ralph Sobek