| [reply] [Watch: Dir/Any] |
If you don't mind installing a small module, capture from IPC::System::Simple works pretty well in my experience:
use IPC::System::Simple qw/capture/;
my $snmp_trap = capture '/usr/bin/snmptrap', '-v', '2c',
'-c', 'public', '127.0.0.1', '', '.3.5.6.1.4.7.34566.12343.897.0.2';
(I hope I got the args you're trying to pass correct.)
Otherwise, open would work too, although it's not as concise (e.g. open my $fh, '-|', @command or die $!; and then reading from $fh). | [reply] [Watch: Dir/Any] [d/l] [select] |
I'm unable to install the modules as I don't have root access on the box.
| [reply] [Watch: Dir/Any] |
| [reply] [Watch: Dir/Any] |
Well, installing CPAN modules without root is possible, but maybe it's not necessary to go that far just yet.
(I just think IPC::System::Simple::capture is nice because it gives helpful error messages too.)
- What are the characters that you think need to be escaped? (I don't see any in the command line you showed.)
- Why do you have a backslash before the final backtick? (Are you trying to pass a backtick to the command? If not, maybe that's the problem?)
- Is that an empty string you're trying to pass after "127.0.0.1"?
- What error message are you getting?
- Does running the command from a normal command line work?
- What OS are you on / what's your default shell?
If passing the empty string is the problem (which works on my system), one solution could be the aforementioned piped open.
Otherwise, you've got another problem and the above info would help.
| [reply] [Watch: Dir/Any] [d/l] [select] |