#!/usr/bin/perl $_ = ",,,,"; print "Good\n" if /(?:[^,]*,\s*){3}(.*?)\s*,/; #### print "$1\n" if /^(.+?)#,/; #### #!/usr/bin/perl $_ = "test1, test2#,test3"; print "$1\n" if /^(.+?)#,/; # Returns a false positive print "$1\n" if /^([^,]+)#,/; # This fails, as we expect