in reply to replace number by args<number>

Try something like:
>perl -wMstrict -le "for my $string (@ARGV) { (my $arged = $string) =~ s{ (\d) }{arg$1}xmsg; print qq{'$string' yields '$arged'}; } " "1:2" "-p 1 -t 2 3" "1 2" "12" "no digits" '1:2' yields 'arg1:arg2' '-p 1 -t 2 3' yields '-p arg1 -t arg2 arg3' '1 2' yields 'arg1 arg2' '12' yields 'arg1arg2' 'no digits' yields 'no digits'
Update: Extended tests to include "no digits" case.