我喜欢
Python用字典格式化字符串的方式:
print "%(key1)s and %(key2)s" % aDictObj
我想用Perl在Perl中实现同样的功能.是否有任何代码段或小型库可以执行此操作?
编辑:
谢谢你试试这个答案.至于我,我出了一小段代码:
sub dict_replace { my ($tempStr,$tempHash) = @_; my $key; foreach $key (sort keys %$tempHash) { my $tmpTmp = $tempHash->{$key}; $tempStr =~ s/%\($key\)s/$tmpTmp/g; } return $tempStr; }
它只是有效.这不像使用字典的Python字符串格式那样功能完整,但我想改进它.
解决方法
从python文档:
The effect is similar to the using sprintf() in the C language.
my @ordered_list_of_values_to_print = qw(key1 key2); printf '%s and %s',@ordered_list_of_values_to_print;
还有一个新模块使用命名参数来完成它:
use Text::sprintfn; my %dict = (key1 => 'foo',key2 => 'bar'); printfn '%(key1)s and %(key2)s',\%dict;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。