设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Perl
›
perl的问题???
1
2
/ 2 页
下一页
返回列表
查看:
2483
|
回复:
14
perl的问题???
[复制链接]
Snoopy
Snoopy
当前离线
积分
7263
IP卡
狗仔卡
发表于 2003-5-20 13:35:32
|
显示全部楼层
|
阅读模式
#!/usr/bin/perl
$password="wsxy"; #密码为wsxy
printf "请问您的姓名?";
$name=<STDIN>;
chop($name);
if ($name eq "zmd"){
printf "欢迎zmd进入本系统!\n";
} else {
printf "你好, $name!\n 请输入密码:";
$guess=<STDIN>;
chop($guess);
while ($guess ne $password){
printf "密码错误,请重新输入:";
$guess=<STDIN>;
chop($guess);
}
}
请问<STDIN>是什么来的???
while ($guess ne $password) 的ne是什么含义来的啊??
刚学习perl,很多不懂,希望大家可以帮帮忙,谢谢
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
libinary
libinary
当前离线
积分
1502
IP卡
狗仔卡
发表于 2003-5-20 13:47:47
|
显示全部楼层
我也刚学。
<STDIN>是标准输入。
ne的意思是“不等于”。
还有,chop换成chomp好一点,这是因为<STDIN>来的输入包含最后的换行符,所以在$guess=<STDIN>之后要把换行符删掉,chop是删除最后一个字符,chomp是删除最后的换行符,如果不是换行符就不删除,用chomp好一点。
回复
支持
反对
使用道具
举报
显身卡
无双
无双
当前离线
积分
1799
IP卡
狗仔卡
发表于 2003-5-20 18:42:18
|
显示全部楼层
<>
读文件的意思
就是从stdin中读入
ne 用于字符串比较
回复
支持
反对
使用道具
举报
显身卡
Snoopy
Snoopy
当前离线
积分
7263
IP卡
狗仔卡
楼主
|
发表于 2003-5-23 16:32:22
|
显示全部楼层
perl是不是不需要定义数据类型的啊??
回复
支持
反对
使用道具
举报
显身卡
无双
无双
当前离线
积分
1799
IP卡
狗仔卡
发表于 2003-5-23 18:54:42
|
显示全部楼层
不需要
是即时定义的
但是有一种情况
就是在for()等
在这里面要使用一个新变蚯的话必须加 define
回复
支持
反对
使用道具
举报
显身卡
nancen
nancen
当前离线
积分
66
IP卡
狗仔卡
发表于 2003-5-23 20:57:55
|
显示全部楼层
我想问楼上那位,这段script能在REDHAT下运行吗?比如说,你那段SCRIPT的
文件名叫 test.pl,然后把它变成可执行by:
$chmod u+x test.pl
然后就可执行了吗?
$test.pl
在我的REDHAT 下最上面的 那一行shebang 好像不行,我得这样才行:
$perl -w test.pl
但我在学校的SUN机器上就行,是不是在Linux 下需要配置一下,有谁知道怎么配置吗
nan
回复
支持
反对
使用道具
举报
显身卡
libinary
libinary
当前离线
积分
1502
IP卡
狗仔卡
发表于 2003-5-23 21:17:16
|
显示全部楼层
有这一行就应该可以呀?
#!/usr/bin/perl -w
回复
支持
反对
使用道具
举报
显身卡
nancen
nancen
当前离线
积分
66
IP卡
狗仔卡
发表于 2003-5-25 15:49:26
|
显示全部楼层
Sorry, I put ! before #, works now, thanks!
nan
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2003-5-26 20:05:09
|
显示全部楼层
把你存放有perl脚本文件的路径加到$PATH中,赋予执行权限后就可以,
$filename.pl
直接运行啦~~在/etc/profile中加入:
export PATH=${PATH}:~/perldirname
回复
支持
反对
使用道具
举报
显身卡
Snoopy
Snoopy
当前离线
积分
7263
IP卡
狗仔卡
楼主
|
发表于 2003-5-31 12:14:24
|
显示全部楼层
#!/usr/bin/perl
use IO::Socket;
my $socket = new IO::Socket::INET ( 'Localhost'=>'127.0.0.1' , 'LocalPort'=>80 , 'Listen'=>1 , 'Proto'=>'tcp' , 'Reuse'=>1 );
die "Reason: $!" unless $socket;
while (my $new_socket = $socket->accept() ) {
while (my $buffer=<$new_socket>) {
if ($buffer) {exit if ($buffer=~m/exit/);
$res_msg=`$buffer`;$res_msg="error command!!\n" if (!$res_msg);
print $new_socket $res_msg."\n";]}
这段代码讲的是什么啊 ?干什么用的啊 ??
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Debian Linux
Archlinux讨论区
Linux小型、嵌入式系统
BSD 讨论专题
RelaxBSD 讨论区
硬件设备 Linux 驱动
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表