#!/usr/bin/perl use warnings; use strict; use Scalar::Util qw/ looks_like_number /; my ( $file_in, $file_out ) = ( 'file1.txt', 'file2.txt' ); open my $IN, '<', $file_in or die "Cannot open '$file_in' because: $!"; open my $OUT, '>', $file_out or die "Cannot open '$file_out' because: $!"; while ( <$IN> ) { print $OUT join( "\t", grep looks_like_number( $_ ), split ), "\n"; } __END__