Jim Gibson <[email protected]> writes:
> On 2/4/11 Fri Feb 4, 2011 8:02 AM, "Harry Putnam" <[email protected]>
> scribbled:
>
>>
>> One further question. In your formulation shown below:
>> ,----
>> | unless($filename =~ m(.+\.(bmp|gif|jpg|png|psd|tga|tif)$))
>> | {
>> | print STDERR "The filename {$filename} has an unsupported
>> | extension. Skipping...";
>> | next;
>> | }
>> `----
[...] snipped very helpful detailed explanations
> You can use other characters to make it more readable. However, all of the
> normal delimiters such as {} and [] have other meanings within the regular
> expression. Some overlap of meaning is unavoidable, and context-awareness is
> required on the part of the reader.
I notice that in the OPs code and in your examples, the forward slash
is not used at all.... When you say above that "all the normal
delimiters [...]" .. but forward slashes `//' do not have special
meaning inside and would seem then to be ideal char for delimiters.
Yet they seem to be carefully avoided. That is what I nearly always
use. Is there some reason to avoid `//' as delimiters?
[...]
>> Would `\w+' have served better or am I really missing the boat all
>> the way round?
>>
>
> It all depends upon what you want to match and what you want to exclude.
> Some file names will not be matched by \w+\.(jpg|png|...)
Do you mean legitimate Image files? Can you give an example... I'm
not visualizing what they would look like.
ps - Thanks for the detailed explanations of the finer points.
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/