>>49
それが4の答え? とするとそこからして間違いだと思うが。

まず4についてはね、ファイル開くのをいちいち自分で書く必要はなくて、
<>を使うと簡単。

@a = <>;

これだけで引数で指定したファイルまたはファイルを指定しなければ
標準入力からの入力が全部1行づつ @a に入る。文字列の数(行数)は
@a の数だ。これは @a を scalar として扱うだけでいい。これで
行数が出る。

print scalar(@a) . "\n";

で、@a の内容を全部表示するには

print @a;

でできる。

5はもう少し自分で考えろ。