Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Python, Lua and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, C, C++, Ruby, MySQL and Linux / Tomcat systems
read file character by character

Posted by chlfc (chlfc), 13 April 2008
Hi guys, Basically I've loaded a file, and using a while(<filename>){ } i've counted the number of lines. However, what I want to do now is read the number of characters in the file (not including the new line so I will be using a chomp command also. How would I do this?

Also, when I am reading each character, how do I search for a specific one? For example, how would I search for all the commas in the file?


Posted by admin (Graham Ellis), 13 April 2008
You probably have

while ($line = <FH>(
$count++; }

change it to

while ($line = <FH>(
$count+=length($line); }

and you'll count the characters instead!

Posted by KevinAD (KevinAD), 13 April 2008
You don't need to count lines in a file, perl does that and stores the line number in the perl var $. (that is a dollar sign followed by a dot).

As far as counting characters and or searching for a character, what have you tried so far?

Posted by chlfc (chlfc), 17 April 2008
thanks for the help guys, I tried the length(), but it seems to also count the whitespaces along with the \n

I've eliminated the \n using chomp, however, the whitespace is a problem, I don't know how to make the script ignore the whitespace and count the other characters.

Posted by KevinAD (KevinAD), 17 April 2008
I will not help you anymore unless you post the code you have written so far.

This page is a thread posted to the opentalk forum at and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2018: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01225 708225 • FAX: 01225 793803 • EMAIL: • WEB: • SKYPE: wellho