#! perl -slw use strict; use File::Slurp; use Time::HiRes qw[ time ]; print STDERR time; my $s = read_file( $ARGV[0] ); print STDERR time; $s =~s/\t/ /g ; print STDERR time; write_file( $ARGV[1], $s ); print STDERR time; __END__ [21:35:14.40] C:\test>984648-1 500MB.csv junk.txt 1343767102.78642 1343767106.4356 1343767106.89558 Terminating on signal SIGINT(2) #### #! perl -slw use strict; use File::Slurp; use Time::HiRes qw[ time ]; print STDERR time; my $s = read_file( $ARGV[0], scalar_ref => 1 ); print STDERR time; $$s =~s/\t/ /g ; print STDERR time; write_file( $ARGV[1], $s ); print STDERR time; __END__ [22:14:07.81] C:\test>984648-2 500MB.csv junk.txt 1343769390.96321 1343769394.24913 1343769394.70982 Terminating on signal SIGINT(2) #### #! perl -slw use strict; use Time::HiRes qw[ time ]; print STDERR time; my $s; do{ local( @ARGV, $/ ) = $ARGV[0]; $s = <>; }; print STDERR time; $s =~ tr[\t][ ]; print STDERR time; open O, '>', $ARGV[1] or die $!; { local $\; print( O $s ); } close O; print STDERR time; __END__ [ 0:57:20.47] C:\test>984648-3 500MB.csv junk.txt 1343779056.03211 1343779058.22142 1343779058.70098 1343779061.99852 [ 0:57:42.05] C:\test>