Man, those Windows users are such lazy bastards. Too damn lazy to install a decent Unix toolkit, and too damn lazy to write a trivial Perl program. All they can do is whine that a solution is too Unix specific (never mind the fact that an open source solution for any Unix toolkit is available, not something we can say about Windows tools, can we?) Djees, you give them Perl - the portable Unix - and they still aren't satisfied.
#!/usr/bin/perl
use strict;
use warnings;
no warnings qw /syntax/;
use Getopt::Long;
my ($show_ends, $show_tabs, $show_nonprinting);
GetOptions ("A|show-all" => sub {$show_ends = 1;
$show_tabs = 1;
$show_nonprinting = 1},
"e" => sub {$show_ends = 1;
$show_nonprinting = 1},
"E|show-ends" => sub {$show_ends = 1},
"t" => sub {$show_tabs = 1;
$show_nonprinting = 1},
"T|show-tabs" => sub {$show_tabs = 1},
"v|show-nonprinting" => sub {$show_nonprinting = 1},
);
while (<>) {
chomp;
s/([\x80-\xFF])/"M-" . chr (ord ($1) - 0x80)/eg if $show_nonprinti
+ng;
s/([\x00-\x08])/"^" . chr (ord ($1) + 0x40)/eg if $show_nonprinti
+ng;
s/([\x0A-\x1F])/"^" . chr (ord ($1) + 0x40)/eg if $show_nonprinti
+ng;
s/\x7F/^?/g if $show_nonprinti
+ng;
s/\x09/^I/g if $show_tabs;
s/$/\$/ if $show_ends;
print "$_\n";
}
__END__
Took less than 15 minutes to write and test.
Abigail | [reply] [d/l] |
Those who work without a decent set of tools get no sympathy from me. Either they are fools, or they work for fools. In both cases, the fool is the one who suffers from reduced productivity, which is as it should be. | [reply] |
Who is the more foolish? The fool or the fool that follows him?
| [reply] |
Whilst we're at it: Never argue with a fool in public, people may not be able to tell who is the fool.
| [reply] |