#!/usr/bin/perl -w use strict; use lib '.'; #use Data::Dumper; use Benchmark; use RcsLite; my $testfile = "./TWikiHistory.txt,v"; my $rcsDir = "/usr/bin/"; my $rcsArg = ""; my $revCoCmd = "$rcsDir/co $rcsArg -q -p%REVISION% %FILENAME%"; sub processRcs { my $theRev = shift; my $tmp= $revCoCmd; my $fileName = $testfile; $tmp =~ s/%FILENAME%/$fileName/; $tmp =~ s/%REVISION%/$theRev/; $tmp =~ /(.*)/; $tmp = $1; # now safe, so untaint variable my $text = `$tmp`; } my $standard_text = processRcs(1.1); sub test1 { die unless $standard_text eq processRcs(1.1); } sub test2 { my $rcs = new RcsLite; $rcs->process($testfile); die unless $standard_text eq $rcs->text(1); } my $rcs2 = new RcsLite; sub test3 { $rcs2->process($testfile); die unless $standard_text eq $rcs2->text(1); } my $count = 100; timethese($count, { 'Current' => \&test1, 'Lite' => \&test2, 'Lite3' => \&test3, }); #my $rcs = new RcsLite(); #$rcs->process($testfile); #print Data::Dumper->Dump([$rcs]); #print $rcs->head . "\n";