Code Comments
Programming Forum and web based access to our favorite programming groups.Hello,
I am writing a simple perl script to count the # of characters in a given
field. At the command line I can write >>wc -m somefile.txt, and get the
total character count. But in the script I am splitting a text file and
then doing a count on an element of the array.
code snippet:
**************************
while (<FILE> )
{
chomp;
(@fields) = split(/\t/);
$count = wc -m $fields[12];
print "$count\n";
}
**************************
Here is the error I receive when I check the syntax.
>perl -c count.pl
Unrecognized file test: -m at count.pl line 20.
I've tried many different ways of writing this, but can't seem to get it
working. Any ideas/help?
Thanks,
Rob
________________________________________
_________________________
Check out MSN PC Safety & Security to help ensure your PC is protected and
safe. http://specials.msn.com/msn/security.asp
Post Follow-up to this messageOn Mar 23, 2004, at 3:18 PM, Rob Torres wrote:
> Hello,
> I am writing a simple perl script to count the # of characters in a
> given
> field. At the command line I can write >>wc -m somefile.txt, and get
> the
> total character count. But in the script I am splitting a text file
> and
> then doing a count on an element of the array.
>
> code snippet:
> **************************
> while (<FILE> )
> {
> chomp;
> (@fields) = split(/\t/);
> $count = wc -m $fields[12];
In Perl, we spell that:
$count = length $fields[12];
Hope that helps. ;)
James
P.S. Looks like you might not be using strict and probably not
warnings either. I definitely don't recommend continuing on that
way...
> print "$count\n";
> }
> **************************
>
> Here is the error I receive when I check the syntax.
> Unrecognized file test: -m at count.pl line 20.
>
>
> I've tried many different ways of writing this, but can't seem to get
> it
> working. Any ideas/help?
> Thanks,
> Rob
>
> ________________________________________
_________________________
> Check out MSN PC Safety & Security to help ensure your PC is protected
> and safe. http://specials.msn.com/msn/security.asp
>
>
> --
> To unsubscribe, e-mail: beginners-unsubscribe@perl.org
> For additional commands, e-mail: beginners-help@perl.org
> <http://learn.perl.org/> <http://learn.perl.org/first-response>
>
>
>
Post Follow-up to this messageOn Tuesday 23 March 2004 11:18 am, Rob Torres wrote:
> Hello,
> I am writing a simple perl script to count the # of characters in a given
> field. At the command line I can write >>wc -m somefile.txt, and get the
> total character count. But in the script I am splitting a text file and
> then doing a count on an element of the array.
>
> code snippet:
> **************************
> while (<FILE> )
> {
> chomp;
> (@fields) = split(/\t/);
> $count = wc -m $fields[12];
> print "$count\n";
> }
> **************************
>
> Here is the error I receive when I check the syntax.
>
>
> Unrecognized file test: -m at count.pl line 20.
>
>
> I've tried many different ways of writing this, but can't seem to get it
> working. Any ideas/help?
> Thanks,
> Rob
Rob -
You're mixing Xs and Os. 'wc' is an external program that must be
run under a 'shell' (bash, sh, etc.) - NOT perl. Although you can
execucte external commands within perl ( via 'system' or '`...`', this
script should use perl internal functions like:
**************************
use strict; # get in this habit
use warnings;
while (<FILE> )
{
chomp;
my @fields = split(/\t/);
my $count = 0;
for my $field( @fields ) {
$count += length $field;
}
print "$count\n";
}
**************************
Aloha => Beau;
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.