Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^2: or operator not working at checking directories

by Aristotle (Chancellor)
on Jun 30, 2002 at 10:42 UTC ( [id://178349]=note: print w/replies, xml ) Need Help??


in reply to Re: or operator not working at checking directories
in thread or operator not working at checking directories

if ($homeurl !~ m[^http://|https://]) {

Careful. Your regex tests for http:// at the start of the string, or https:// anywhere in the string. The |-alternative is greedy if not enclosed in brackets. Also, it is better to keep or distinctions like this outside the regex engine.

In reply to the original question, I would suggest that it's semantically much better to write this as:
unless ($homeurl =~ m[^http://] or $homeurl =~ m[^https://]) { &inerror("Your home url has to start with http:// or https://"); }
which to me feels like it more clearly conveys what's meant here.

Finally, though, I want to suggest, in this specific instance, to use the ? quantifier:

unless ($homeurl =~ m[^https?://]) { &inerror("Your home url has to start with http:// or https://"); }
____________
Makeshifts last the longest.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://178349]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2024-04-23 20:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found