s/// is the substitution operator, generally not used for comparison, you want m// the match operator
#!/usr/bin/perl --
#~ 2011-09-07-00:31:00 by Anonymous Monk
#~ perltidy -csc -otr -opr -ce -nibc -i=4
use strict;
use warnings;
use autodie; # dies if open/close... fail
Main(@ARGV);
exit(0);
sub Main {
if ( @_ == 3 ) {
NotDemoMeaningfulName(@_);
} else {
Demo();
print Usage();
}
} ## end sub Main
sub NotDemoMeaningfulName {
my ( $inputOne, $inputTwo, $outputFile ) = @_;
open my ($inOne), '<', $inputOne;
open my ($inTwo), '<', $inputTwo;
open my ($outFh), '>', $outputFile;
while ( not eof $inOne ) {
my $onel = <$inOne>;
my $twol = <$inTwo>;
for ( $onel, $twol ) {
chomp;
$_ = $1 if /,\s*([^,]+)$/;
}
print $outFh "{$onel}{$twol}\n";
} ## end while ( not eof $inOne )
close $inOne;
close $inTwo;
close $outFh;
} ## end sub NotDemoMeaningfulName
sub Usage {
<<"__USAGE__";
$0
$0 dataFile1 dataFile2 outputFile
perl ${\__FILE__}
perl ${\__FILE__} dataFile1 dataFile2 outputFile
__USAGE__
} ## end sub Usage
sub Demo {
my ( $Input, $Input2, $WantedOutput ) = DemoData();
NotDemoMeaningfulName( $Input, $Input2, \my $Output );
print $Output, "\n\n";
require Test::More;
Test::More::is( $Output, $WantedOutput,
' NotDemoMeaningfulName Works Aas Designed' );
Test::More::done_testing();
} ## end sub Demo
sub DemoData {
my $One = <<'__One__';
Optometrists and Opticians (simple) Regulations, Cap. 500A, RG 2
__One__
my $Two = <<'__Two__';
OPTOMETRISTS AND OPTICIANS (SIMPLE) REGULATIONS, Cap. 500A, Regulation
+ 2
__Two__
my $Three = <<'__Two__';
{RG 2}{Regulation 2}
__Two__
return \$One, \$Two, $Three;
} ## end sub DemoData
__END__
$ prove pm.924549.pl
pm.924549.pl .. ok
All tests successful.
Files=1, Tests=1, 1 wallclock secs ( 0.12 usr + 0.06 sys = 0.19 CPU
+)
Result: PASS
$ perl pm.924549.pl
{RG 2}{Regulation 2}
ok 1 - NotDemoMeaningfulName Works Aas Designed
1..1
pm.924549.pl
pm.924549.pl dataFile1 dataFile2 outputFile
perl pm.924549.pl
perl pm.924549.pl dataFile1 dataFile2 outputFile
Your title is not very effective ( see How do I compose an effective node title?, Markup in the Monastery ) and remember, "Your 'urgent need' is not our emergency." |