in reply to Performing addition on hex value extracted from a string

#!usr/bin/perl unlink("ccix.sdp_trc");

That should probably be:

#!/usr/bin/perl use warnings; use strict; unlink("ccix.sdp_trc");
I want to extract the hexadecimal addr:0xdf7780 value, add 0x500000000 to it and then replace the result in the same string.

If the addr:0xdf7780 value is always six digits long then you can do a simple text substitution:

$ perl -le'$x = "hexadecimal addr:0xdf7780 value"; print $x; $x =~ s/ +addr:0x \K (?= [[:xdigit:]]+ ) /500/x; print $x' hexadecimal addr:0xdf7780 value hexadecimal addr:0x500df7780 value

If the addr:0xdf7780 value is always less than nine digits long then you can do:

$ perl -le'$x = "hexadecimal addr:0xdf7780 value"; print $x; $x =~ s/ +addr:0x \K ( [[:xdigit:]]+ ) / $y = "500000000"; $l = length $1; subs +tr $y, -$l, $l, $1; $y /xe; print $x' hexadecimal addr:0xdf7780 value hexadecimal addr:0x500df7780 value

Otherwise, this will work:

$ perl -le'$x = "hexadecimal addr:0xdf7780 value"; print $x; $x =~ s/ +addr:0x \K ( [[:xdigit:]]+ ) / sprintf "%x", hex( $1 ) + 0x500000000 +/xe; print $x' hexadecimal addr:0xdf7780 value hexadecimal addr:0x500df7780 value