Q:\> perl -wle "sub c{my$c=0;$_[0]=~m/(?:(.)(?{$c += ord($1);}))*^/;$c}c('foo')" Variable "$c" will not stay shared at (re_eval 1) line 1. #### sub getChecksum { unpack '%A*', $_[0] };