On Monday, May 6, 2002, at 10:34 , Lance Prais wrote:
> sub createUniquePartitionFile { > my %args = ( > PARTITION => '', > PARTITIONFILE => '', > OUTPUTFILENAME => '', > @_, > ); > $status = 0; > $partitionFile = $args{PARTITIONFILE}; > $outputFileName = $args{OUTPUTFILENAME}; > # Message > print "topten: Creating a unique solution file for [$partition].\n"; > # Remove existing output file > $command_string = "/usr/bin/rm -f " . $outputFileName; > $status = `$command_string`; > > $command_string = "sort -u " . $partitionFile . " \> " . > $outputFileName; > $status = `$command_string`; > > return $status; > } the benchmarks for jonathan's proposals are at: http://www.wetware.com/drieux/CS/lang/Perl/Beginners/BenchMarks/uniqDeList. txt but think a bit about what your 'function' here should be doing.. I'm very confused by the idea of my %args = ( PARTITION => '', PARTITIONFILE => '', OUTPUTFILENAME => '', @_, ); why not the simpler my ( $outputFile, $partitionFile, $partition) = @_; and save on the re-assignment to those variables from the way interesting %arg??? also you are using perl as if it were /bin/sh - $command_string = "/usr/bin/rm -f " . $outputFileName; $status = `$command_string`; vice say unlink $outputFileName if ( -f $outputFileName ); which does not require a fork of an external command... If you have the dope already in memory, why not stay in memory rather than buying the file IO AND the forks??? ciao drieux --- -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]