in reply to VVP:Character code Accusation!
Depending on what you consider a "control character", the below snippets will or won't do what you need :
perl -pe "s/[\000-\037]//g"
This will delete all characters with a character code below 32 (space) from the file. Note that also carriage return and linefeed fall under this.
And here's the checker to see if your file contains bad characters.
perl -ne "die q(Bad character on line $.\n) if /[\000-\037]/"
If you want to exclude certain characters from that range (for example CR and LF), you must create the subranges around the characters you don't want.
Update: Here are the REs modified to allow CR and LF in your file :
perl -pe "s/[\000-\011\013\014\016-\037]//g" perl -ne "die q(Bad character on line $.\n) if /[\000-\011\013\014\016 +-\037]/"
Note that maybe the "wrong" characters also occur, because you are transferring your files via ftp in ASCII mode instead of binary mode (or binary mode instead of ASCII mode) or from an EBCDIC system to an ASCII system or vice versa without the proper conversion.
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
|
|---|