1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

whitespace remove

Discussion in 'Perl' started by abhisheksainiabhishe, Jun 11, 2008.

  1. If I have a multiline text like..

    abcd ef ghi
    xyz d e f
    sjskf s fdf

    then how would I be able to remove the spaces (/s+) inside the strings (in middle of the strings).

    I thought using doing like...

    $string =~ s/\s+/ /g;

    would work. but it does not work.

    And if above is the way I would end up finally then can I make it like so it would
    not alter spaces within <pre> tags like....

    #declaring pretags avlyes
    my $startPreTag="<pre>";
    my $endPreTag="</pre>";

    #so the spaces (more than one) will be removed is it is not enclosed by pre tags
    $string =~ s/[^$startPreTag]^\s+[^$endPreTag]//;

    Please tell me if I am on the right track

    None of my appraoches are working. Please advise. Thanks!
  2. pradeep

    pradeep Team Leader

    You expression looks like having a space in the replacement portion,
    # Your version
    $string =~ s/\s+/ /g;
    # Right code
    $string =~ s/\s+//g;
    For replacement within PRE tags,
    $string =~ /<pre>([^<]+)<\/pre>/gi;
    $str = $1;
    $str =~ s/\s+//g;
    $string =~ s/<pre>([^<]+)<\/pre>/$str/;
    This will work only if there is only one occurance of pre in the string, you can also try HTML::parse for this purpose.
  3. got it.
  4. XXxxImmortalxxXX

    XXxxImmortalxxXX New Member

    DONT SPAM THAT GAY *** GAME called runescape u will pay for spamming those message i swear to god you will. I hate runescape with a passion its the most retardest game ever made U WILL PAY I SWEAR TO GOD ON THAT
  5. shabbir

    shabbir Administrator Staff Member

    Hi account is banned and all posts removed as well as the site goes into spam sites

Share This Page