in reply to Parse a data file (.txt format), read column and have the count

Well, perl makes it pretty easy to handle a task like this, but it's worthwhile pointing out that standard unix/linux utilities do it easily too...
cut -f1 -d\| input_file | sort | uniq -c
but in order to get the particular output format you want, a little more work is needed, which is actually easiest to do with perl:
... | perl -pale '$_=join "|",$F[1],$F[0]'
The "p","a","l" and "e" command-line options are described in the perlrun manual, and "join" is one of the many built-in functions described in perlfunc (and you can go directly to the description of "join" using the command line perldoc -f join.

Please understand that "looking around the web" might not be a good strategy -- especially if you're "looking for a perl program which could handle..." some task for which you don't know the proper search term (e.g. "histogram" or "token frequency"). Look at resources that teach you how to use perl, look at existing code, play with it, break it, and learn to fix it.