用 print " \$1 \$2 " 这样也可以吧
----- Original Message -----From: hfaheSent: Thursday, May 14, 2009 11:48 AMSubject: [PerlChina] Re: 何让perl明白输出中$1这样的东西是字符串,不作变量替换?q($1)qq($ps)祝好
hfahe2009-05-14
发件人: Ca发送时间: 2009-05-14 11:34:28收件人: PerlChina Mongers 讨论组抄送:主题: [PerlChina] Re: 何让perl明白输出中$1这样的东西是字符串,不作变量替换?回复2楼:\$1 这样也不行,会被当成引用,结果打印出来设想要出现 $1 这个字符串的地方还是被替换成空内容On 5月14日, 上午11时32分, Ca <calvin.n...@gmail.com> wrote:> 尝试直接给 $1 $2 $3 加上单引号,这个样子:> $ps=blabla;> system(qq(cat > g.sh << END> pscoast -R95/135/21/41 -JM6i -Ggray -Slightblue -B5 -N1 -W1 -I3 -K >> $ps> awk "{print '$1', '$2', '$3', 1/$3^1.8*0.025}" site | psxy -> R95/135/21/41 -JM6i -O -Cneis.cpt -Sci -Wthin -H >> $ps> END"));>> 结果完全不行。因为单引号会被当作字符打印出来,而$1 $2 $3还是被当作变量替换掉。>> On 5月14日, 上午11时22分, Calvin <calvin.n...@gmail.com> wrote:>> > $ps=blabla;> > system("cat > g.sh << END> > pscoast -R95/135/21/41 -JM6i -Ggray -Slightblue -B5 -N1 -W1 -I3 -K>> > $ps> > awk '{print $1, $2, $3, 1/$3^1.8*0.025}' site | psxy -R95/135/21/41 -> > JM6i -O -Cneis.cpt -Sci -Wthin -H >> $ps> > END");>> > }>> > 上面这段代码想创建名字为 g.sh 的文件,内容为:>> > pscoast -R95/135/21/41 -JM6i -Ggray -Slightblue -B5 -N1 -W1 -I3 -K>> > blabla> > awk '{print $1, $2, $3, 1/$3^1.8*0.025}' site | psxy -R95/135/21/41 -> > JM6i -O -Cneis.cpt -Sci -Wthin -H >> blabla>> > 但是 $1 $2 $3 会被perl当作变量替换成空内容。如何让perl明白它们是字符串不作变量替换呢?> > 多谢。
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论