#!/usr/bin/env perl use strict; use Cwd; open(INPUTPART1, "prepartition1") || die("can't open datafile: $!"); open(INPUTPART2, "prepartition2") || die("can't open datafile: $!"); open(INPUTFILE, "< $ARGV[0]") || die("can't open datafile: $!"); my $line; my $flag; my $partitionName; my @partition1; my @partition2; while ($line = ) { push(@partition2 ,$line); } while ($line = ) { push(@partition1 ,$line); } while ($line = ) { $flag = 0; if ($line =~ m/partition=[0-9]/) { foreach $partitionName (@partition2) { chomp($partitionName); if ( $line =~ m/$partitionName/) { $line =~ s/partition=[0-9]/partition=1/; print $line; $flag = 1; } } if($flag == 0) { foreach $partitionName (chomp(@partition1)) { chomp($partitionName); if ( $line =~ m/$partitionName/) { $line =~ s/partition=[0-9]/partition=0/; print $line; } } } } else { print $line; } }