perlとpythonで直積
#!/usr/bin/env python import itertools li = ('apple', 'orange', 'fuck') print [ {"from": frm, "to": to } for frm, to in itertools.product(li, li) if not frm == to ]
こういうこと(直積を加工したりする)がperlでやりたいとき、
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @li = ('apple', 'orange', 'fuck'); my @ret; for my $from (@li){ for my $to (@li){ unless ($from eq $to){ push @ret, {from => $from, to => $to} } } } print Dumper(@ret);
他にも map/reduce Set::Product とかでも出来るみたい
しかしforがネストしてかっこうわるいけど
一番ソースが読みやすいのはこれでしょうか