On Wed, Nov 19, 2003 at 01:33:25PM -0500, Rob wrote: > Hi, I'm trying to find out how many newline characters are in a string. I > thought there would be a simple function for this, but I can't find it; > Do I need to step through the string a character at a time to check this?
Here is an example of the Perl idiom that will do this for you. I had a file with 11 newlines, which I read into a string. I then used a regular expression to match newlines in that string and then took advantage of Perl's list context to get the count. perl -le'{local $/ = undef; $file = <>;} $number = () = $file =~ /\n/g; print $number;' file In a non-one-liner, the important bit would be declared with my my $number = () = $file =~ /\n/g which is equivalent to my @array = $file =~ /\n/g; my $number = @array; You just save yourself having to explicitly mention the list/array. Cheers, Damon -- Damon Allen Davison http://allolex.freeshell.org/ A language is therefore a horizon, and style a vertical dimension, which together map out for the writer a Nature, since he does not choose either. The language functions negatively, as the initial limit of the possible, style is a Necessity which binds the writer's humour to his form of expression. In the former, he finds a familiar History, in the latter, a familiar personal past. In both cases he deals with a Nature, that is, a familiar repertory of gestures, a gestuary, as it were, in which the energy expended is purely operative, serving here to enumerate, there to transform, but never to appraise or signify a choice. -- Roland Barthes (1915-1980), French semiologist. ``What Is Writing??'' Writing Degree Zero (1953, trans. 1967). -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]