--- Patrick Diffley <[EMAIL PROTECTED]> wrote:
> One way of doing this:
> chop ($username);
> if ($username eq "") {
>        .......................
> }
> This will at least ensure that a carriage return
> is not included in the  scalar

'chop' has been so heavily misused that, if I recall correctly, it won't even be in 
Perl 6.  The
function you are looking for is 'chomp'.  The problem with chop is illustrated by this:

    while (<IN_FILE>) {
        chop;
        print IN_FILE;
    }

That looks innocuous enough, but if the last line of the file does not have a carriage 
return,
you've just chopped off the last letter.

'chomp', on the other hand, merely removes whatever is currently in the $/ variable, 
which is
typically \n.  If there is no newline, it removes nothing, leaving data intact.

Of course, since 'chop' in this case was reading from STDIN, I don't forsee a problem, 
but it's
still a good idea to avoid.

Cheers,
Curtis "Ovid" Poe

=====
"Ovid" on http://www.perlmonks.org/
Someone asked me how to count to 10 in Perl:
push@A,$_ for reverse q.e...q.n.;for(@A){$_=unpack(q|c|,$_);@a=split//;
shift@a;shift@a if $a[$[]eq$[;$_=join q||,@a};print $_,$/for reverse @A

__________________________________________________
Do You Yahoo!?
Yahoo! Sports - live college hoops coverage
http://sports.yahoo.com/

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to