use strict;
my $str = 'using System;
using System.Collections.Generic;
#nullable disable
namespace FeedStore.Stores.EF.Entities.Master
{
public partial class Admin
{
public int Id { get; set; }
public string Name { get; set; }
public string Alias { get; set; }
public int TenantId { get; set; }
public DateTime Created { get; set; }
public string CreatedBy { get; set; }
public DateTime? Modified { get; set; }
public string ModifiedBy { get; set; }
}
}
';
my $regex = qr/(namespace FeedStore\.Stores\.EF\.Entities\.Master)(\r\n|\n)({)(\r\n|\n)\s+(public partial class )\s*(\w+)/mp;
my $subst = 'using FeedStore.Stores.EF.Contracts;\\r\\n\\r\\n$1$2$3$4\\t$5$6 : IAuditableModified, IAuditableAdded';
my $result = $str =~ s/$regex/$subst/rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html