$foo = '^'; m/$foo/ #### my $str = "acb^def^123^456"; my $foo = '^'; $foo =~ s/([\\\|\(\)\[\{\^\$\*\+\?\.])/\\$1/; my @fields = split /$foo/, $str; my $out = join '|', @fields; print "$out\n"; #### my $str = "acb\tdef\t123\t456"; my $foo = "\t"; #### "first,field","second,""field"with','junk","third'field