Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: passing token output to a variable

by frozenwithjoy (Curate)
on Jan 06, 2013 at 04:50 UTC ( #1011830=note: print w/ replies, xml ) Need Help??


in reply to passing token output to a variable

The way you have it written, $cleaned just gets set to the # of substitutions that occurred. See this example:

#!/usr/bin/env perl use strict; use warnings; use feature 'say'; my $string = "This is a string with variable numbers + of spaces."; say "original: $string"; my $number_of_substitutions = $string =~ s|\s{2,}| |g; say "cleaned: $string"; say "# of substitutions: $number_of_substitutions"; __END__ original: This is a string with variable numbers of + spaces. cleaned: This is a string with variable numbers of spaces. # of substitutions: 6
One alternative for you would be:
my $cleaned = $token->as_is; $cleaned =~ s/\s{2,}/ /g; # I took out the /s modifier. I thought it +was only for transliteration (e.g., $cleaned =~ tr/ //s).
A second alternative, if you are using 5.14+, is non-destructive substitution (with the /r modifier):
my $cleaned = $token->as_is =~ s/\s{2,}/ /gr;


Comment on Re: passing token output to a variable
Select or Download Code
Re^2: passing token output to a variable
by SilverShadow (Initiate) on Jan 06, 2013 at 18:50 UTC
    Thank you frozenwithjoy, your code works perfect as a standalone code but when using it with my code it doesn't the script just return or exit to command prompt without giving any output, warnings or error messages!
      nevermind, fixed it..works now! Kind Regards

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2014-09-21 11:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (168 votes), past polls