Original file ============= public Product getProduct(Node node) { // --- bunch of logic here --- if (nodeName.equals("ItemNum")) { product.setItemNumber( new Integer(StringUtils.parseInt(nodeValue, 0))); } if (nodeName.equals("AvgPrice")) { product.setAveragePrice( new Double(StringUtils.parseDouble(nodeValue, 0.0))); } } Converted file ============== public Product getProduct(Node node) { // --- bunch of logic here --- if (msg.isSetField(ItemNum.FIELD)) { product.setItemNumber(msg.getInt(ItemNum.FIELD)); } if (msg.isSetField(AvgPrice.FIELD)) { product.setAveragePrice(msg.getDouble(AvgPrice.FIELD)); } } #### while () { if ($_ =~ /nodeName.equals/) { my $line1 = $_; my $line2 = ; my $line3 = ; if ($line3 =~ /new Integer/) { chomp($line1); $_ = "$line1$line2"; s/nodeName.equals\("(.*)"\).*product\.(.*)\(/msg.isSetField($1.FIELD)) {\n product.$2(msg.getInt($1.FIELD))\;/; print $_; } elsif ($line3 =~ /new Double/) { chomp($line1); $_ = "$line1$line2"; s/nodeName.equals\("(.*)"\).*product\.(.*)\(/msg.isSetField($1.FIELD)) {\n product.$2(msg.getDouble($1.FIELD))\;/; print $_; } else { print $line1; print $line2; print $line3; } } else { print $_; } }