in reply to Count of split data

open FILE, $filename || "$!";
Shouldn't that be:
open FILE, $filename or die $!;
Or do you actually have a valid file name stored in $!?

It looks like you want to count the semicolons:

while ( <FILE> ) { $ct += tr/;//; } print $ct;