Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Perl Question - Split using | - Resolved

Re: Perl Question - Split using | - Resolved

From: Celine John <celine_mj_at_yahoo.com>
Date: Fri, 05 Jul 2002 08:13:29 -0800
Message-ID: <F001.00490573.20020705081329@fatcity.com>


Wonderful!
Thanks for all who responded.
I always count on you guys.
--- Andy Duncan <andy_j_duncan_at_yahoo.com> 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: andy_j_duncan_at_yahoo.com
>
> 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: ListGuru_at_fatcity.com (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: celine_mj_at_yahoo.com

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: ListGuru_at_fatcity.com (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).
Received on Fri Jul 05 2002 - 11:13:29 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US