in reply to Confusing grep behavior

You need to reread grep
my @res = grep $_ split(",", "a,b,c,d,,f,,h"); #is a syntax error.

According to the POD when grep is not called with a block it requires a comma before the list you are working on.
grep EXPR,LIST

So this will work as you expect.

my @res = grep $_, split(",", "a,b,c,d,,f,,h");
grep
One dead unjugged rabbit fish later...

Replies are listed 'Best First'.
Re^2: Confusing grep behavior
by dextius (Monk) on Dec 04, 2007 at 23:33 UTC
    You are quite right.. I should rephrase my question... On Mac OS X, the comma isn't required, and has far different behavior. Anyone happen to know what that is?
      It's not a Mac thing. 5.8.5 on Linux allows it as well. I'm guessing it's a bug that was fixed in 5.8.7 or 5.8.8.
        Thanks, I wasn't aware of the bug, and was just confused since I wasn't getting a syntax error.

      No matter what OS you run it on the comma is still required, as noted by the POD and (quite noticeably) by the incorrect performance. The only difference(bug) is that it didn't throw an error. A crime is still a crime, whether you get caught or not :).

      grep
      One dead unjugged rabbit fish later...