On Thu, 2002-01-31 at 09:39, John Edwards wrote:
> Why *must* it be a one liner. I think my suggestion is easier to understand
> for someone having to maintain your code. If there is no other reason than
> "I want a one liner" to do this on one line, then why not do it on two??
> Just because it is possible in one line, doesn't mean it's the best
> approach.
>
> To me this:
>
> $item = "<blah>";
>
> $item =~ s/</</g;
> $item =~ s/>/>/g;
>
> Seems far easier to understand than either this:
>
> $item = "<blah>";
>
> $item =~ s/([<>])/'&'. ($1 eq'<' ? 'l':'g') . 't;'/eg;
>
> or this:
>
> my %entity = (
> '<' => '<',
> '>' => '>',
> '&' => '&',
> );
>
> $item = "<blah>";
>
> $item =~ s/([<>&])/$entity{$1}/ge;
>
> which isn't even a one liner as you have to define a lookup hash to begin
> with.
True it is not a one liner, but it does look nicer and is easier to
extend than individual regexs if you are defining a lot of entities
(that is why my example had an & in it). Of course you should probably
not be doing any of this yourself; I am sure a module exists out there
to handle this sort of case.
>
> All IMHO ;)
>
> John
>
> -----Original Message-----
> From: Briac Pilpr� [mailto:[EMAIL PROTECTED]]
> Sent: 31 January 2002 14:35
> To: [EMAIL PROTECTED]
> Subject: Re: html entity conversion... one liner?
>
>
> On Thu, 31 Jan 2002 14:06:06 -0000, Michael Kavanagh
> <[EMAIL PROTECTED]> wrote:
> > I thought it would be good to be able to do this:
> >
> > $item = "<blah>";
> > $item =~ tr/<>/(<)(>)/;
> >
> > to convert those <> symbols to their entity references. however, the
> > tr operator doesn't seem to like using () to group... any comments on
> > how to make this operation in to a one-liner?
>
> Here's a possible suboptimal one-liner approach:
>
>
> #!/usr/bin/perl -w
> use strict;
>
> my $item = "<gah>buh</gah> zoh";
>
> $item =~ s/([<>])/'&'. ($1 eq'<' ? 'l':'g') . 't;'/eg;
>
> print $item;
>
>
> __END__
>
>
>
> --
> briac
> << dynamic .sig on strike, we apologize for the inconvenience >>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> --------------------------Confidentiality--------------------------.
> This E-mail is confidential. It should not be read, copied, disclosed or
> used by any person other than the intended recipient. Unauthorised use,
> disclosure or copying by whatever medium is strictly prohibited and may be
> unlawful. If you have received this E-mail in error please contact the
> sender immediately and delete the E-mail from your system.
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
--
Today is Sweetmorn the 31st day of Chaos in the YOLD 3168
Umlaut Zebra �ber alles!
Missle Address: 33:48:3.521N 84:23:34.786W
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]