免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yuanquan08
打印 上一主题 下一主题

各位大虾,小弟又遇难处啦 [复制链接]

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
21 [报告]
发表于 2014-04-10 08:21 |只看该作者
回复 20# 104359176


    数据加上下面这行,就over了。
  1. C1      =   C0_ABD;
复制代码

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
22 [报告]
发表于 2014-04-10 08:58 |只看该作者
104359176 发表于 2014-04-10 08:16
回复 16# rubyish

      这个也叫美啊?简直就是天书密码。排版倒是挺美的,这种形式用于代码加 ...


perl自由之风“诲人不倦”,rubyish大神“中毒”太深

论坛徽章:
8
技术图书徽章
日期:2013-09-30 08:51:28技术图书徽章
日期:2013-12-11 09:26:39白羊座
日期:2013-12-27 15:27:13金牛座
日期:2014-01-06 09:13:05天蝎座
日期:2014-01-21 14:23:28酉鸡
日期:2014-05-09 16:51:12卯兔
日期:2014-08-11 16:49:1515-16赛季CBA联赛之八一
日期:2017-08-14 23:24:57
23 [报告]
发表于 2014-04-10 13:03 |只看该作者
本帖最后由 xiumu2280 于 2014-04-10 13:03 编辑

来一发~~
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use Data::Dumper;
  5. use File::Basename;

  6. my %hash;
  7. while (<DATA>) {
  8.         chomp;
  9.         s/;//;
  10.         my ($key,@value) = split /\s+\=\s+|_/;
  11.         $hash{$key} = \@value;
  12. }


  13. sub circle {
  14.         my $key = shift;
  15.         my @data = @{$hash{$key}};
  16.         undef $hash{$key};
  17.         my $n = 0;
  18.         foreach my $cell (@data) {
  19.                 $hash{$cell}
  20.                         ? do{push @{$hash{$key}},@{$hash{$cell}};$n++}
  21.                         : push @{$hash{$key}},$cell;
  22.         }
  23.         return if $n==0;
  24.         circle($key);
  25. }
  26. map {circle($_)}keys %hash;
  27. print Dumper \%hash;




  28. __DATA__
  29. ABC =  A1_B1;
  30. ABD =  C1_D1;
  31. A1    =  D0_A0;
  32. B1    =  A1_ABD;
  33. C1    =  C0_ABD;
  34. D1    =  B0_C1;
复制代码

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
24 [报告]
发表于 2014-04-11 04:48 |只看该作者
本帖最后由 rubyish 于 2014-04-11 00:50 编辑

回复 20# 104359176
来个正常版本 ~
非天书, 非密码, 可执行 ~

Perl 的 表现力 , 赞一个 ~

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
25 [报告]
发表于 2014-04-11 07:59 |只看该作者
回复 24# rubyish


    这次不是天书,是史前古卷。

论坛徽章:
8
技术图书徽章
日期:2013-09-30 08:51:28技术图书徽章
日期:2013-12-11 09:26:39白羊座
日期:2013-12-27 15:27:13金牛座
日期:2014-01-06 09:13:05天蝎座
日期:2014-01-21 14:23:28酉鸡
日期:2014-05-09 16:51:12卯兔
日期:2014-08-11 16:49:1515-16赛季CBA联赛之八一
日期:2017-08-14 23:24:57
26 [报告]
发表于 2014-04-11 09:02 |只看该作者
我想知道  这个png是怎么做出来的···回复 24# rubyish


   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
27 [报告]
发表于 2014-04-11 10:12 |只看该作者
回复 5# 104359176


    搞语言解析的同时,也别忘了提高汉语水平。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
28 [报告]
发表于 2014-04-11 10:12 |只看该作者
回复 12# MMMIX


    是的。

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
29 [报告]
发表于 2014-04-11 10:44 |只看该作者
真尝试执行了。。电脑表示严重hold不住。。。{:3_188:} 回复 20# 104359176


   

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
30 [报告]
发表于 2014-04-11 11:56 |只看该作者
  1. #!/usr/bin/perl
  2. my %h;
  3. my @data = <DATA>;
  4. map { my ( $k, $v ) = /(\S+)\s*=\s*(\S+);/; $h{$k} = $v; } @data;
  5. for my $i (0..$#data) {
  6.         my @line = split /[ \t]+/, $data[$i];
  7.         {
  8.                 my $k = 0;
  9.                 while ( my ( $k, $v ) = each %h ) {
  10.                         $k = 1 if $line[3] =~ s/$k/$v/g;
  11.                 }
  12.                 redo if $k;
  13.         }
  14.         print join ' ', @line;
  15. }
  16. __DATA__
  17.           ABC =  A1_B1;
  18.           ABD =  C1_D1;
  19.           A1    =  D0_A0;
  20.           B1    =  A1_ABD;
  21.           C1    =  C0;
  22.           D1    =  B0_C1;
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP