Perl однострочник с одинарная кавычка

Я использовал однострочник Perl для создания оператора SQL, но я не могу включать одинарные кавычки.

Это то, что я хочу: возьмите первое поле и добавьте к нему цитаты.

echo "a,b" | perl -F',' -lane 'print $F[0];'
 'a'

Я пробовал несколько разных способов, но у меня это не сработало.

1.

echo "a,b" | perl -F',' -lane 'print qq('$F[0]');'
[0]

2.

echo "a,b" | perl -F',' -lane 'print q('$F[0]');'
[0]

Вот еще один интересный момент.

Он печатает одиночную кавычку с оператором печати, но если я присваиваю значение переменной и печатаю, это не работает.

perl -lwe "print q( i'am );"
 i'am

perl -lwe "$b=q( didn't ); print $b"

Можете ли вы помочь мне понять, как мы можем использовать одинарные и двойные кавычки в однострочниках Perl?

5
задан Peter Mortensen 26 February 2017 в 22:08
поделиться