Am 31.08.2012 16:09, schrieb Marco Stornelli: > +CCS=`perl -e 'local $/=undef; open FILE, $ENV{'PATCHTMP'}; $text=<FILE>; > +close FILE; $addr = $1 if $text =~ /Cc: (.*?(,\n .*?)*)\n/s; $addr =~ s/\n//g; > +print $addr;'` The quoting is broken in this line (sq within sq does not work). Am I correct that you intend to treat continuation lines with this non-trivial perl script? All this processing gets tedious and unreadable. Let me suggest this pattern instead: # translate to Thunderbird language LANG_TO="To:" LANG_SUBJ="Subject:" LANG_CC="Cc:" LF= # terminates the _previous_ line while read -r line do case $line in 'To: '*) printf "${LF}%s" "$LANG_TO ${line#To: }" ;; 'Cc: '*) ...similar... 'Subject: '*) ...similar... ' '*) # continuation line printf "%s" "$line" ;; '') print "${LF}\n" cat ;; esac LF='\n' done <"$PATCH" >"$1" Instead of printing right away, you can also accumulate the data in variables and print them right before the 'cat'. I would do that only if a particular order of To:, Cc:, and Subject: is required in the output. (I don't know how the "do not delete this line" line fits in the picture, but I'm sure you can figure it out.) -- Hannes -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html