First write differences down. Then design subroutine arguments. Then desing subroutine. What are the differences?
- List of field indexes.
- grep regexp (NETPACKET, NETERROR)
- grep regexp (Network, Busy, Memory)
- what to do with arguments?
- others?
Then subroutine arguments:
sub yoursub
{
my ($rangearrayref, $firstre, $secondre, $subref) = @_;
...
}
yoursub([2..7], 'NETPACKET', 'Network', \&transformNetpacketSub);
or hash style:
sub yoursub
{
my %args = @_;
my ($rangearrayref, $firstre, $secondre, $subref) = ($args{-range},
+$args{-firstre}, $args{-secondre}, $args{-transformsub});
...
}
yoursub(-range => [2..7], -firstre=>'NETPACKET', -secondre=>'Network',
+ ->transformsub=>\&transformNetpacketSub);
And then the only problem is to write proper
transformNetpacketSub. I would do it like this:
sub transformNetpacketSub
{
my $str = shift;
# do anything with string
return $str;
}