- 論壇徽章:
- 0
|
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 會(huì)被當(dāng)作perl的變量,被替換成空內(nèi)容。如何讓perl明白它們是字符串而不是變量?
$ps="abc.ps";
system("cat > g.sh << END
pscoast -R95/135/21/41 -JM6i -Ggray -Slightblue -B5 -N1 -W1 -I3 -K> $ps
awk "{print q($1), q($2), q($3), 1/q($3)^1.8*0.025}" site | psxy -R95/135/21/41 -JM6i -O -Cneis.cpt -Sci -Wthin -H >> $ps
END"); |
上面這樣,用 q() ,希望作單引號(hào)防止perl進(jìn)行變量替換,但是 q() 會(huì)被當(dāng)作字符。變量替換仍然發(fā)生。
$ps="abc.ps";
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"); |
以上,嘗試用轉(zhuǎn)義符號(hào)防止變量替換,結(jié)果被perl當(dāng)作對變量的引用,仍然發(fā)生變量替換。
[ 本帖最后由 Calvin00 于 2009-5-14 16:19 編輯 ] |
|