Liste des Groupes | Revenir à cl c |
Richard Harnden <richard.nospam@gmail.invalid> writes:Thank youOn 21/03/2024 19:23, Keith Thompson wrote:Sure. It's a Perl script called "if0". It tries to deal withRichard Harnden <richard.nospam@gmail.invalid> writes:>
[...]And sometimes, when it's not a really a comment, but rather a block ofI think you mean "#if 0".
code I don't want right now:
>
#ifdef 0
...
#endif
Yes I did :)
>I use that sometimes, but one disadvantage is that if you're viewing>
the
middle of a very large block of code, it can be hard to tell that it's
been "commented" out.
I have a script that applies "#if 0" and "#endif" to a block of code
*and* prepends "* " to each line in the block.
That's a good ideo. Can you share it?
variations in line endings (I sometimes work with code with LF and/or
CRLF line endings) and with tabs vs. spaces as indentation.
I don't have a script that undoes what if0 does. I might write one
one of these days, but usually I can just revert the change in source
control or change it back manually.
Complaints about Perl being write-only will be cheerfully ignored.
```
#!/usr/bin/perl
use strict;
use warnings;
my @lines = <>;
my $newline = "\n";
if (defined $lines[0] and $lines[0] =~ /\r$/) {
$newline = "\r\n";
}
print "#if 0$newline";
foreach my $line (@lines) {
if ($line =~ /^ /) {
$line =~ s/ /*/;
}
elsif ($line =~ /^\r?$/) {
$line =~ s/^/*/;
}
else {
$line =~ s/^/* /;
}
print $line;
}
print "#endif /* 0 */$newline";
```
Les messages affichés proviennent d'usenet.