http://www.perlmonks.org?node_id=619797


in reply to Removing Non-Ascii chars from text file

Try this,

$str =~ s/[^!-~\s]//g;

In the above, !-~ is a range which matches all characters between ! and ~. The range is set between ! and ~ because these are the first and last characters in the ASCII table (Alt+033 for ! and Alt+126 for ~ in Windows). As this range does not include whitespace, \s is separately included. \t simply represents a tab character. \s is similar to \t but the metacharacter \s is a shorthand for a whole character class that matches any whitespace character. This includes space, tab, newline and carriage return.

Or simply, $str !~ s/[^[:ascii:]]//g;

Replies are listed 'Best First'.
Re^2: Removing Non-Ascii chars from text file
by Anonymous Monk on Oct 27, 2011 at 06:25 UTC
    Cool. This worked for me. Thanks.