Re: When would you use qr// on a literal string?



"it_says_BALLS_on_your forehead" <simon.chao@xxxxxxx> wrote in
news:1153145251.119197.122300@xxxxxxxxxxxxxxxxxxxxxxxxxxx:

I thought that qr was mainly used for pre-compiling variables into
regex patterns, but a colleague uses it like so:

my ( $name, $value ) = split qr/=/, $string;

Are there any benefits to doing this? He claims that the use of the
qr// op here can help capture an error if the STRING is not a valid
regex. Does this make any sense?

The first argument to split is a regex, whether you use regex notation or
not.

So, I am not fond of:

split '=', $string;

because it obscures that fact.

On the other hand, I don't see what additional mileage qr gets you other
than saying: I really want to signal that this is a regex to other
programmers.

As for what mileage that gets you in terms of preventing errors, take a
look at:

#!/usr/bin/perl

use strict;
use warnings;

my $data = 'name$sinan';

my @a = split '$', $data;
my @b = split /$/, $data;
my @c = split qr/$/, $data;

# correct
my @d = split /\$/, $data;

print "@a\n@b\n@c\n@d\n";

__END__

Sinan
.



Relevant Pages

  • Re: Fastest way to search a string for the occurance of a word??
    ... but the OP's question was what's the "Fastest way to search a string ... in all the tests I did here, the Regex was by far superior. ... However, of course, if you've got new regular expressions all ... Sure - but just that extra Match object could be relevant if the search ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: regular expression help
    ... Basically because if you remove everything that is optional in the regex below you end up with an empty regex: ... So the regex engine will try to match on every character in the string: ... , comma doesn't match, but the nothingness in front of it does. ... A quote followed by any sequence of characters that is not a quote, ...
    (microsoft.public.dotnet.framework)
  • Re: Regex optimization
    ... I was hoping that someone with knowledge of the Regex engine could ... match per string for either Regex. ... reluctant modifier, may be slower .*?, +? ... Variable parts will try to capture as much as possible. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Regex Capture problem
    ... "learned" my regex using a freeware utility that had slightly different ... was trying to capture instead of. ... I have used Regex utilities before, so I understand the concepts of text ... Function RESub(str As String, SrchFor As String, ReplWith As String) As String ...
    (microsoft.public.excel.programming)
  • Re: Trim a multiple line message to a single line
    ... You can do this quite easily with either a regex or a simple function I'll try to demonstrate both: ... private string LayoutInput ... Could you send a sample file with two of these data blocks f what ...
    (microsoft.public.dotnet.languages.csharp)