in reply to Regex help

"In general, if you know what you want to keep, use a regexp. If you know what you want to get rid of, use split." From a PerlMonks' posting Understanding Split and Join.

Given that, here's another option:

use Modern::Perl; say map {(split)[1]} <DATA>; __DATA__ IF-abc/12 [Se/0/0] [Second data][third] IF-abc/1 [Gi/0/0] [Second data ]

Output:

[Se/0/0][Gi/0/0]

Hope this helps!

Update: However, if you're set on a regex for capturing that data, try the following instead of the split above:

say /(\[.*?\])/ while <DATA>;

Output:

[Se/0/0] [Gi/0/0]