如果我使用perl -Fsomething运行一个脚本,那么在Perl环境中的哪些值可以保存到脚本可以找到它的位置?我想编写一个脚本,默认情况下重用输入分隔符(如果它是一个字符串而不是正则表达式)作为输出分隔符.
解决方法
看看
source,我认为分隔符不会保存在任何地方.当你跑步
perl -F,-an
LINE: while (<>) {our @F=split(q\0,\0);
并解析它.此时,有关分隔符的任何信息都将丢失.
您最好的选择是手动拆分:
perl -ne'BEGIN { $F="," } @F=split(/$F/); print join($F,@F)' foo.csv
或者将分隔符作为参数传递给您的脚本:
F=,; perl -F$F -sane'print join($F,@F)' -- -F=$F foo.csv
或者将分隔符作为环境变量传递:
export F=,; perl -F$F -ane'print join($ENV{F},@F)' foo.csv