今回に限って言えば
next unless /(?:(?:jpe?|pn)g|gif)$/i;
のほうが適切。ちなみに正規表現はRegexp::Assembleで作ってもらった。
perl -MRegexp::Assemble -e "$ra=Regexp::Assemble->new;$ra->add($_) foreach qw(jpeg jpg png gif);print $ra->re;"
ワンライナーとしては汚いかな。いちいちaddメソッド呼び出すのは面倒なので、foreachとqwを組み合わせてお手軽に。