新手问题,关于printf

新手问题,关于printf

perl 中的printf怎么输出双引号。。
比如awk中的, printf( \"123\");
还有perl中使用printf有没有一行书写的长度限制,awk是399个字节。。。。谢谢
sh-3.2# perl -e 'print qq!hello "girl"\n!'
hello "girl"
sh-3.2# perl -e 'print "hello \"girl\"\n"'
hello "girl"


printf书写长度好像没什么限制
#!/usr/bin/perl

use strict;
use warnings;

printf "%11s\n","\"gaochong\"";



长度限制我不确定.期待各位回答。



QUOTE:
还有perl中使用printf有没有一行书写的长度限制,awk是399个字节

perl应该是没有的。因为perl的哲学就是不加任何的限制。比如字符串长度等。
所以确定没有!^_^ 你认为呢?
谢谢楼上的各位了。不过我要实现的是
#! /usr/bin/perl
open(MYFILE,"tt.txt";
while(<MYFILE>
{
    printf "%s,%s\n","\"substr($_,0,1)\"","substr($_,1,2)";
}
close (MYFILE);

把12345这样的buf转换成,“1”,“2”,“345”之类的东西,源文件和准换后的文件行数列数是一样的。唯一的区别是格式不同。
只是觉得awk的语法太丑陋了。所有想学着用perl了。
那个printf 有大约100个%s,这样的话就要有200个这样的\"东西。。。。有没有更好的办法呢?
另外按照我写的格式,substr都输出了不知道怎麽改法呢

unpack 就可以搞定。

[Copy to clipboard] [ - ]
CODE:
my $str = '12345';
print join ',', map { qq("$_") } unpack( 'a1 a1 a3', $str );
print "\n";