#!usr/bin/perl
use utf8; #引入utf8模块 脚本内的字符串使用utf8作为编码格式
binmode(STDOUT,":encoding(gbk)");
#标准输出使用gbk作为编码格式,也可以把gbk改为gb2312
binmode(STDIN,":encoding(gbk)");
#如果涉及到输入流,例如读文件,不加这条读中文文件会出现乱码
binmode(STDERR,":encoding(gbk)");
#如果异常错误中的字符串有中文,请加上STDERR,否则也会出现乱码 open( DATA, "> Error.txt" )
|| die "Unable to open error for write! - $!\n"; %IOLIST=('李白',{'age','18','height','185','weight','60kg'},
'李1',{'age','18','height','185','weight','60kg'},
'李2',{'age','19','height','180','weight','60kg'},
'李3',{'age','28','height','181','weight','60kg'},
'李4',{'age','21','height','182','weight','60kg'},
'李5',{'age','22','height','183','weight','60kg'},
'李6',{'age','23','height','184','weight','60kg'},
'李7',{'age','24','height','188','weight','60kg'},
'李8',{'age','25','height','187','weight','60kg'},
'李9',{'age','26','height','186','weight','60kg'},
'李10',{'age','27','height','189','weight','60kg'}
);
dumplist(\%IOLIST); sub dumplist
{
my $LIST = shift;
my $legend = 0;
foreach $item (sort keys %$LIST)
{
my @attributes = ();
my @legen = ();
print "$item:\n";
foreach $attr (sort keys %{$$LIST{$item}})
{
push(@legen, $attr);
push(@attributes, $LIST->{$item}{$attr})
}
print @legen , "\n" if $legend == 0;#打印数组,ageheightweight
$legend++, print DATA "item:", join(',', @legen), "\n\n" if $legend == 0;
print DATA "$item:\t", join(', ',@attributes),"\n\n";
}
}

输出结果:

D:\>Error.pl
李1:
ageheightweight
Wide character in print at D:\Error.pl line 47.
李10:
Wide character in print at D:\Error.pl line 47.
李2:
Wide character in print at D:\Error.pl line 47.
李3:
Wide character in print at D:\Error.pl line 47.
李4:
Wide character in print at D:\Error.pl line 47.
李5:
Wide character in print at D:\Error.pl line 47.
李6:
Wide character in print at D:\Error.pl line 47.
李7:
Wide character in print at D:\Error.pl line 47.
李8:
Wide character in print at D:\Error.pl line 47.
李9:
Wide character in print at D:\Error.pl line 47.
李白:
Wide character in print at D:\Error.pl line 47.

Error.txt

item:age,height,weight

李1:    18,    185,    60kg

李10:    27,    189,    60kg

李2:    19,    180,    60kg

李3:    28,    181,    60kg

李4:    21,    182,    60kg

李5:    22,    183,    60kg

李6:    23,    184,    60kg

李7:    24,    188,    60kg

李8:    25,    187,    60kg

李9:    26,    186,    60kg

李白:    18,    185,    60kg

perl使用print输入数据到文件的更多相关文章

  1. Python Linux 命令行执行脚本输出重定向print到日志文件

    reference: https://unix.stackexchange.com/questions/182537/write-python-stdout-to-file-immediately   ...

  2. Perl IO:随机读写文件

    随机读写 如果一个文件句柄是指向一个实体文件的,那么就可以对它进行随机数据的访问(包括随机读.写),随机访问表示可以读取文件中的任何一部分数据或者向文件中的任何一个位置处写入数据.实现这种随机读写的功 ...

  3. Perl文件名通配和文件查找

    在shell中使用*来对文件名进行通配扩展,在Perl中也同样支持文件名通配.而且perl中的glob通配方式和shell的通配方式完全一致,实际上perl的glob函数就是直接调用csh来通配的(如 ...

  4. perl 利用管道读取压缩文件内容

    perl的文件句柄不仅支持普通文件, 还支持管道,今天需要统计一个fastq文件中的序列数和碱基数,而NGS的fastq文件一般都是gzip压缩的,所以 需要读取压缩文件中的内容,代码如下: my ( ...

  5. python下print结果到文件中的方法

    目的是将print的结果输出到一个文件中,比如这个文件在D:\lianxi\out.txt下,我用的windows: s = '1234' f = open (r'D:\lianxi\out.txt' ...

  6. Perl根据日期分割数据文件

    Perl的优势:比C好写,比Shell高效,Linux普遍支持. #!/usr/bin/perl -w # auth: lichmama@cnblogs.com # what: split data_ ...

  7. perl语言中的.pm文件和.pl文件区别

    perl...呵呵呵 按照惯例,.pm 应该保存 Perl Module,也就是 Perl 模块.例如 Socket.pm.pl 应该保存 Perl Library,也就是 Perl 库文件.例如 p ...

  8. print 输出到文件

    content = """We have seen thee, queen of cheese, Lying quietly at your ease, Gently f ...

  9. perl 读取json 格式的文件

    使用JSON 模块中的 decode_json 函数,将json文件中的数据解码为perl 中的对象,然后进行处理 代码如下: #!/usr/bin/env perl use JSON; use En ...

随机推荐

  1. Java Web中MVC设计模式与IOC

    MVC是由Model(模型).View(视图).Controller(控制器)三个模块组成 视图:用于做数据展示以及和用户交互的一个界面(html页面) 控制层:能够接受客户端的请求,具体的业务功能还 ...

  2. KingbaseES 全局索引是否因为DDL操作而变为Unusable ?

    前言 Oracle 在对分区做DDL操作时,会使分区全局索引失效,需要加上关键字update global indexes.KingbaseES 同样支持全局索引.那么,如果对分区表进行DDL操作,那 ...

  3. 这份数据安全自查checklist请拿好,帮你补齐安全短板的妙招全在里面!

    企业数据安全自查Checklist! 快来对照表单,看看你的数据安全及格了吗? 一.京东云安全Checklist建议 京东云安全拥有业界领先的安全研究团队,经过多年实践与经验积累,京东云已面向不同业务 ...

  4. Lua 支持虚函数的解决方案

    概述 lua本身没有提供类似C++虚函数机制,调用的父类方法调用虚函数可能会出现问题. 问题分析 分析这段代码和输出 local Gun = {} -- 示例,实际应用还要考虑构造,虚表等情况 fun ...

  5. ProxySQL(9):ProxySQL的查询缓存功能

    文章转载自: https://www.cnblogs.com/f-ck-need-u/p/9314459.html ProxySQL支持查询缓存的功能,可以将后端返回的结果集缓存在自己的内存中,在某查 ...

  6. SonarQube支持Gitlab授权登录

    部署好SonarQube之后,由于我们内部使用的是自建的Gitlab仓库,即每个开发同学都有Gitlab账号,SonarQube我们就可以使用上Gitlab登录,这样就不需要再维护一套用户体系了. S ...

  7. kibana启动停止命令

    前提条件:kibana文件是属于kibana用户的 注意:路径根据具体实际情况修改 更改日志所属用户和用户组 chown kibana:kibana /usr/local/kibana-7.5.1-l ...

  8. MySQL集群搭建(4)-MMM+LVS+Keepalived

    1 LVS 介绍 1.1 简介 LVS 是 Linux Virtual Server 的简写,意即 Linux 虚拟服务器,是一个虚拟的服务器集群系统.本项目在 1998 年 5 月由章文嵩博士成立, ...

  9. Elasticsearch中字段的类型

    在Elasticsearch中,每一个字段都有一个类型(type).以下为Elasticsearch中可以使用的类型:

  10. CentOS7配置nodejs环境

    # 安装 wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz tar xf node-v12.18.3-linux ...