perl使用print輸入數據到文件


#!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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM