Why would it work any differently????
Just be careful with the quotes. Both SAS and unix shells are picky about making sure the quotes a balanced and appropriate. The QUOTE() function can help.
Note you don't need to use a FILENAME statement. You can include the command in the INFILE statement directly instead.
%let path1=/some/folder/name ;
%let cmd=perl -pe 's/[^çêèàûéîôâÇÀÛÔÉÇÈÊ"@-_<>’[:ascii:][:alnum:][:space:][:punct:]]+//g' </&Path1/Virage Survey.xml >&Path1./VirageSurvey.xml;
data _null_;
infile %sysfunc(quote(&cmd)) pipe;
input;
put _infile_;
run;