#!/usr/bin/env bash LANG=C.UTF-8 export LANG hash cpanm plenv || exit mf=$(mktemp) || exit ef=$(mktemp) || exit cf=$(mktemp) || exit cleanup() { rm -f -- "$mf" "$ef" "$cf" } trap cleanup EXIT plenv list-modules | sort > "$mf" sort "$HOME"/.plenv/non-cpanm-modules > "$ef" comm -23 -- "$mf" "$ef" > "$cf" while read -r module ; do cpanm --from http://cpan.inspire.net.nz --notest --quiet -- "$module" done < "$cf"