#!/usr/bin/perl -w
# dataFilter.perl
# Usage: dataFilter.pl id filename newfilename
# Function: get the records with no greater id than id, and write them to newfilename
# Author: JAord Wen
# Date:	Jan 29th, 2008

my $argNum = $#ARGV + 1;

my $numSrcRec = 0;
my $numDesRec = 0;

if($argNum == 0){
    die "Usage: dataFilter.pl id filename newfilename";
}

my $idLimit = $ARGV[0];
my $fileSrc = $ARGV[1];
my $fileDes = $ARGV[2];

open (FILESRC, "< $fileSrc") || die "Cannot open $fileObj\n";
open (FILEDES, "> $fileDes") || die "Cannot open $fileObj\n";

printf "Start filtering, please wait...\n";

while ($line = <FILESRC>){
	
	my @columnNum = split(/\s+/, $line);
	$custumerID = splice(@columnNum, 1, 1);
	if($custumerID <= $idLimit){
		print FILEDES $line;
		$numDesRec ++;
	}
	$numSrcRec ++;
}

printf "Filter Finished its work: %d in %d.\n", $numDesRec, $numSrcRec;
