Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: How do I stop this from removing spaces?

by chuckbutler (Parson)
on Jun 25, 2010 at 01:58 UTC ( #846436=note: print w/ replies, xml ) Need Help??

in reply to How do I stop this from removing spaces?

There is an implicit join of the list being done when the regular expression is being compiled. This is using the $", dollar-double-quote, variable as the separator character, which defaults to a space. So, the character class that is used in the substitution contains a space, and therefor spaces are removed. Better for oneself to do the join:

use strict; use warnings; use re 'debug'; # shows whats-what my $id='TEST TEST'; print "$id\n"; my @filename_filter=('*','|','<','>','?','/'); my $filename_filter_joined = join '',@filename_filter; #empty separator character $id =~ s/[$filename_filter_joined]//g; print "$id\n"; __END__ ~~Output~~ TEST TEST Compiling REx "[*|<>?/]" Final program: 1: ANYOF[*/<>?|][] (12) 12: END (0) stclass ANYOF[*/<>?|][] minlen 1 Matching REx "[*|<>?/]" against "TEST TEST" Matching stclass ANYOF[*/<>?|][] against "TEST TEST" (9 chars) Contradicts stclass... [regexec_flags] Match failed TEST TEST Freeing REx: "[*|<>?/]"

Good luck. -c

Comment on Re: How do I stop this from removing spaces?
Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (5)
As of 2015-11-25 07:22 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (672 votes), past polls