>perl -MData::Dumper -MMail::IMAPClient -we "print Dumper [@ARGV], Mail::IMAPClient->_quote_search(@ARGV)" "1 \"2\" foo" 3 $VAR1 = [ '1 "2" foo', '3' ]; $VAR2 = '{9} 1 "2" foo'; $VAR3 = '3'; >perl -MData::Dumper -MMail::IMAPClient -we "print Dumper [@ARGV], Mail::IMAPClient->_quote_search(@ARGV)" "\"2\" foo" $VAR1 = [ '"2" foo' ]; $VAR2 = '"2" foo'; #### use strict; use Mail::IMAPClient; use Data::Dumper; sub test_quote { print "Parameters: " . Dumper \@_; my @quoted= Mail::IMAPClient->_quote_search(@_); print "Result : " . Dumper \@quoted; }; test_quote( q(SUBJECT "SUBJECT \"test email \"abc123\" approved\")); test_quote( SUBJECT => q(test email "abc123" approved) ); __END__ Parameters: $VAR1 = [ 'SUBJECT "SUBJECT \\"test email \\"abc123\\" approved\\"' ]; Result : $VAR1 = [ 'SUBJECT "SUBJECT \\"test email \\"abc123\\" approved\\"' ]; Parameters: $VAR1 = [ 'SUBJECT', 'test email "abc123" approved' ]; Result : $VAR1 = [ 'SUBJECT', '{28} test email "abc123" approved' ];