免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3899 | 回复: 10
打印 上一主题 下一主题

怎样按照我输入的编号去读取一行数据。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-28 17:07 |只看该作者 |倒序浏览
我想在perl程序运行的时候我去输入一个编号 就去读取对应编号的数据。
把读取的数据赋予一个变量。


please input num: 2

他就应该去读去的是:102.13.20.8  

………………………………………………………………
b.ini  文件中的

1      210. 102.13. 17

2      102.13.20.8
  
由于刚学习perl  是采鸟  我有了这个思路但是不知具体的怎么写
请前辈们给个大致的框架写法好吗?指条路。

谢谢了!!

论坛徽章:
0
2 [报告]
发表于 2005-07-28 17:22 |只看该作者

怎样按照我输入的编号去读取一行数据。

while ,设一个自变量就可以读到想要的那一行

论坛徽章:
0
3 [报告]
发表于 2005-07-28 17:45 |只看该作者

怎样按照我输入的编号去读取一行数据。

open FH , "/opt/MM/b.ini" || die "can't open file!" ;

print" please input num:";
   my $input=<STDIN>;;
    print "ok!$input";

while(<FH>
{   
}
不行还是 写不了 请高手给指导怎么写的

论坛徽章:
0
4 [报告]
发表于 2005-07-28 17:59 |只看该作者

怎样按照我输入的编号去读取一行数据。

你的需求也太简略了啊,从哪里读?文件内容格式是什么样的??

论坛徽章:
0
5 [报告]
发表于 2005-07-28 18:08 |只看该作者

怎样按照我输入的编号去读取一行数据。

我的意思就是 我输入一个表号 他就去文件中找到对应的一条数据赋予 变量
我上面 写了 我的文件的格式。

b.ini  文件中的

1      210. 102.13. 17

2      102.13.20.8


如果你输入了的编号是1  他就把 210. 102.13. 17  给变量 $num

($num=210. 102.13. 17 )  就行了。

谢谢了!!

论坛徽章:
0
6 [报告]
发表于 2005-07-28 18:22 |只看该作者

怎样按照我输入的编号去读取一行数据。

open FH , "/opt/MM/b.ini" || die "can't open file!" ;

print" please input num:";
  my $input=<STDIN>;;
   print "ok!$input";

while ($line = <FH> {
    print ($line);
    }
我这样写他能把整个文件都给打印出来了
但是我怎么样让他显示我 输入编号的那行数据对应起来呢?

论坛徽章:
0
7 [报告]
发表于 2005-07-28 20:22 |只看该作者

怎样按照我输入的编号去读取一行数据。

# This script receive a number from console then extract a IP address corresponding to the number.As following:
#                 somefile.ini
#                                1      210.102.13.17
#                                2           102.13.20.8
# If the input is "2",then "102.13.20.8" is what I want.

print "Input a number:";
$n = <STDIN>;;
chop($n);
print "You input number :" . $n;

open( HFILE, "somefile.ini" );

while ($line = <HFILE>
{
        @fields = split( /\s+/, $line );
        if ( $fields[0] == $n )
        {
                $target = $fields[1];
                last;
        }
}

print "\nThe corresponding IP is " . $target;

测试文件somefile.ini:

1                210.102.13.17
2                102.13.20.8
3                192.168.1.2
4                23.67.222.110

论坛徽章:
0
8 [报告]
发表于 2005-07-29 10:32 |只看该作者

怎样按照我输入的编号去读取一行数据。

不要$line=<FILEHANDLER>;,直接while(<FILEHANDLER>,然后设一个$i,每WHILE一次$i++,然后判断$i是否等于你预设的number,等于的话print $_

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2005-07-29 11:20 |只看该作者

怎样按照我输入的编号去读取一行数据。

[quote]原帖由 "superdoctor"]不要$line=<FILEHANDLER>;,直接while(<FILEHANDLER>,然后设一个$i,每WHILE一次$i++,然后判断$i是否等于你预设的number,等于的话print $_[/quote 发表:

不用 $i 加加吧?$. 就好。

论坛徽章:
0
10 [报告]
发表于 2005-07-29 12:08 |只看该作者

怎样按照我输入的编号去读取一行数据。

原帖由 "flw" 发表:

不用 $i 加加吧?$. 就好。


是的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP