Wonderful! Thanks for all who responded. I always count on you guys. --- Andy Duncan <[EMAIL PROTECTED]> wrote: > Hi Celine, > > > After seeing the e-mails about "Perl for > Oracle-DBAs", > > I presume, my question wouldn't be completely > > inappropriate for this list. > > So if you Oracle Gurus, can help me with this Perl > > problem, I would greatly appreciate it. > > I have a problem with "split" when my delimiter > is "|". > > I know that if I escape the pipe, split should > work, > > that is only when it is a literal like split(/\|/, > "abc|def|123) > > > > But when my delimiter is to be dynamically read > from a > > file, I have it in a variable. Then this > escaping > > stuff doesn't work...... > > eg: > > my $HeaderAttributes = "abc|defgh|123"; > > print "$HeaderAttributes\n"; > > my $Delimiter = "\|"; > > (@Fields) = split(/$Delimiter/, > $HeaderAttributes); > > print "Delimiter = $Delimiter.... Field[0] = > > $Fields[0]\n"; > > > > prints > > a > > instead of > > abc. > > > > Does somebody have a solution to this. > > You might want to try and use the quotemeta > function, to create a regex > variable, which backslashes all alphanumerics within > string variables, eg: > > my $HeaderAttributes = "abc|defgh|123"; > print "$HeaderAttributes\n"; > my $Delimiter = "|"; > my $regex = quotemeta($Delimiter); > (@Fields) = split(/$regex/, $HeaderAttributes); > print "Delimiter = $Delimiter.... Field[0] = > $Fields[0]\n"; > > At this end, this produced: > > abc|defgh|123 > Delimiter = |.... Field[0] = abc > > In a reckless bid towards on-topic status, I can > only say that there's much > more of this kind of thing in Appendix C of "Perl > for Oracle DBAs", 'The > Essential Guide to Regular Expressions'! :-) > > HTH! :) > > Rgds, > AndyD > > __________________________________________________ > Do You Yahoo!? > Sign up for SBC Yahoo! Dial - First Month Free > http://sbc.yahoo.com > -- > Please see the official ORACLE-L FAQ: > http://www.orafaq.com > -- > Author: Andy Duncan > INET: [EMAIL PROTECTED] > > Fat City Network Services -- (858) 538-5051 FAX: > (858) 538-5051 > San Diego, California -- Public Internet > access / Mailing Lists > -------------------------------------------------------------------- > To REMOVE yourself from this mailing list, send an > E-Mail message > to: [EMAIL PROTECTED] (note EXACT spelling of > 'ListGuru') and in > the message BODY, include a line containing: UNSUB > ORACLE-L > (or the name of mailing list you want to be removed > from). You may > also send the HELP command for other information > (like subscribing).
__________________________________________________ Do You Yahoo!? Sign up for SBC Yahoo! Dial - First Month Free http://sbc.yahoo.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Celine John INET: [EMAIL PROTECTED] Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).