環境変数にいろいろ突っ込み過ぎると危険があぶない

$ export FOO=`perl -E 'say "." x 1_000_000'`
$ perl -v
bash: /usr/bin/activeperl: Argument list too long

簡易的にIPCをする方法として環境変数JSONを突っ込んでサブプロセスから参照する、みたいなことはたまにすると思いますが、ちょっと大きなデータを突っ込むとサブプロセスを起動できなくなります。データサイズが未知の場合は使ってはいけない方法ですね。
Max sizeはカーネル次第ですがだいたい128KiBくらいらしく意外と小さいです。

環境変数JSONを突っ込むというのはxaicronメソッドによるTest::mysqldの永続化でやったりするのですが*1、以下のように他にもいろいろやりだしたりするとある日突然うごかなくなって危険があぶないのではないかと思った次第です。

make test で Test::riak を永続化させる方法 - まいんだーのはてなブログ

cf. What is the maximum size of an environment variable value? - stackoverflow

*1:しかしlestrratさんによればこの方法は古いらしく、ourでもできるとのこと。