>Der Gebrauch von Schleifen und Variablen ist nicht erlaubt.
Schon beim AWK-Beispiel hat man eine implizite Eingabe-Schleife und -Variable. Wenn man diese erlaubt, ist das Beispiel für Perl auch recht einfach:
seq 8 | perl -ne 'BEGIN{$,="\t";$\="\n";print "Index","Param1","Param2","Param3"}chomp;print $_,sprintf("%03b",($_-1)^1)=~/./sg'
Das schöne ist, dass dieses Beispiel leicht generalisiert werden kann.
x=4
seq $((2**x)) | ORDER=$x perl -ne 'BEGIN{$,="\t";$\="\n";print "Index",map("Param$_", 1..$ENV{"ORDER"})}chomp;print $_,sprintf("%0".$ENV{"ORDER"}."b",($_-1)^1)=~/./sg'
Natürlich verfehlt dies das Ziel, jede einzelne Spalte von Hand zu berechnen. Das geht dann nicht so einfach, da
$_
sowohl für den Eingabewert als auch jedes Listenelement in
map
stünde und man eine lokale Variable zur Unterscheidung benötigt:
map(($EINGABE&1<<$_)>>$_,reverse 0..$ENV{"ORDER"}-1)