Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Extreme Example of TMTOWTDI

by Anonymous Monk
on Mar 22, 2002 at 15:53 UTC ( #153582=note: print w/replies, xml ) Need Help??


in reply to Extreme Example of TMTOWTDI

You'd get the same speed up by doing this:
open(OUTPUT,">>${len}.words"); while(<>){ chomp($_); $len = length($_); print OUTPUT "$_\n"; } close(OUTPUT);
Might even be faster since there is no array house cleaning. But at 2 seconds, I imagine that it takes longer to type the command then run anyway.

Replies are listed 'Best First'.
Re2: Extreme Example of TMTOWTDI
by dragonchild (Archbishop) on Mar 22, 2002 at 16:41 UTC
    open(OUTPUT,">>${len}.words"); while(<>){ chomp($_); $len = length($_); print OUTPUT "$_\n"; } close(OUTPUT);
    This doesn't do what the others do. For one, $len isn't defined before the open. Secondly, you don't have an outer loop involved to be able to re-open the files as needed.

    Secondly, if you're going to use $_, then use it. Don't piddle around. If you're going to use a named variable (and I'm not saying this is bad), then name it. Otherwise, take advantage of Perl-isms.

    while (<>) { chomp; my $len = length; print OUTPUT $_, $/; }
    It wouldn't be nice unless I posted my own (unBenchmarked) version.
    use IO::File; my %Handles; while (<>) { my $handle = $Handles{length} ||= IO::File->new(">" . length - 1); print $handle $_; } # This is unnecessary unless you're anal (like I try to be) $_->close for values %Handles;

    ------
    We are the carpenters and bricklayers of the Information Age.

    Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://153582]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (9)
As of 2020-02-18 21:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What numbers are you going to focus on primarily in 2020?










    Results (79 votes). Check out past polls.

    Notices?