The thing that starts with "tethereal " is a string (not a "command"). I think your post is a little confusing, because the string contains "6 or 17", but you say you want to assign "6,7", to a variable called $protocol.
Anyway, the way to set up a regex to capture the pieces you want involves ignoring or escaping the regex-special characters (the parens in this case) -- something like this would do:
$_ = "tethereal (proto 6 or 17) and src host suntest1 and dst host sun
+test2 -w /tmp/dumpfile";
( /\(proto ([^)]+)\) and src host (\S+) and dst host (\S+) -w (\S+)/ )
and ( $protocol, $srchost, $dsthost, $dir ) = ($1,$2,$3,$4);
$protocol =~ s/ or /,/g;
(that is, if you want the value of $protocol to be a string consisting of comma-separated numbers, as opposed to something else)
Note the backslashes in front of the open and close parens that are intended to match actual parens in the string.
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.