I was wondering which that inventive method is
Switching to printf is far more than 4 characters.
print("$line_num $rest\n"); printf("%03d %s\n", $line_num, $rest); 12345678901
Maybe he's referring to string autoincrement.
If you start with
$ perl -e'my $i=0; while (<>) { print ++$i, " $_" }' file 1 foo 2 bar 3 baz 4 qux
then this is just four more characters:
1 234 $ perl -e'my $i="000"; while (<>) { print ++$i, " $_" }' file 001 foo 002 bar 003 baz 004 qux
(Note that the trick will fail if you use $i as an number.)
I would have started with
$ perl -e'while (<>) { print "$. $_" }' file 1 foo 2 bar 3 baz 4 qux
so I would have had to add far more characters than four. In fact, using printf is still shorter:
$ perl -e'while (<>) { printf "%03d %s", $., $_ }' file 001 foo 002 bar 003 baz 004 qux
(Avoiding -p and -l since this is suppose to be part of a larger program.)
In reply to Re: Clever Padding
by ikegami
in thread Clever Padding
by iweindesmedt
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |