Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: passing token output to a variable

by frozenwithjoy (Priest)
on Jan 06, 2013 at 04:50 UTC ( [id://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;

Replies are listed 'Best First'.
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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1011830]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (3)
As of 2024-04-26 06:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found