#!/usr/bin/perl -w use strict; my $exec = "figure4.out"; my $ps_string = "figure1: GPS"; my $vifi_string = "figure1: ViFi"; my $srtf_string = "figure1: SRTF"; my $sfs_string = "figure1: SFS"; my $sfs2_string = "figure1: SFS2"; my $work_file = "tmp.txt"; my $data_file = "plot.data.uniform"; my $i; system("rm $data_file"); open(OUTPUT, ">>$data_file") or die("Can't open $data_file\n"); for($i=0.1; $i<=100;) { print STDOUT "./$exec $i 2> $work_file\n"; system("./$exec $i 2> $work_file"); open(INPUT, "<$work_file") or die("Can't open $work_file\n"); my $line; my $tmp; my $ps_time = -1; my $vifi_time = -1; my $srtf_time = -1; my $sfs_time = -1; my $sfs2_time = -1; while($line = ) { chomp($line); if($line =~ m/$ps_string ([\d.]+)/){$ps_time = $1;} elsif($line =~ m/$vifi_string ([\d.]+)/){$vifi_time = $1;} elsif($line =~ m/$srtf_string ([\d.]+)/){$srtf_time = $1;} elsif($line =~ m/$sfs_string ([\d.]+)/){$sfs_time = $1;} elsif($line =~ m/$sfs2_string ([\d.]+)/){$sfs2_time = $1;} } print STDOUT "$i $ps_time $vifi_time $srtf_time $sfs_time $sfs2_time\n"; print OUTPUT "$i $ps_time $vifi_time $srtf_time $sfs_time $sfs2_time\n"; close(INPUT); if($i < 1.5) {$i = $i + 0.1;} elsif($i < 2) {$i = 2;} else{$i = $i * sqrt(2);} } close(OUTPUT); system("rm *.txt");