Perlです。2つ質問があります。

与えられた変数に入っている文字列がShift_JIS(+ASCII?)上の文字の列かどうかを
判定したいのですが、正規表現関連で参考になるサイトとかあるでしょうか。

連想配列を大量に使いメモリを使いまくるスクリプトがあるのですが、
Cで連想配列っぽい構造を自分で作った場合、
使用するメモリ量が劇的に変わったりするでしょうか。
(Perl(ActivePerlです)のガベコレ任せなメモリ管理と比べてどうでしょうか)