设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Perl | PHP | Python 脚本程序开发
›
请教一个脚本
返回列表
查看:
1053
|
回复:
4
请教一个脚本
[复制链接]
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2004-2-8 16:18:56
|
显示全部楼层
|
阅读模式
my $count=0;
my $statement="";
while (<>) {
chomp;
while (/{|\(|\[/g) { $count++ };
while (/}|\)|\]/g) { $count-- };
$statement .=$_ . "";
if (!$count) {
eval $statement;
if ($@) { print "Syntax error.\n"};
$statement="";
$count=0;
}
}
复制代码
这是一个交互的perl'shell,有哪位给解释解释~,谢谢啦~ :thank
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
devel
devel
当前离线
积分
1472
IP卡
狗仔卡
发表于 2004-2-8 17:13:59
|
显示全部楼层
evel函数的例子置顶有。。
#!/usr/bin/perl
$print="print ("hello,world\\n");";
eval ($print);
#run as perl command.
复制代码
我改了一下族长的题,怎么会这样?
# cat ta.pl
#!/usr/bin/perl -w
my $count=0;
my $statement="";
print "$statement\n";
while (<> ) {
chomp;
while (/{|\(|\[/g) { $count++ };
while (/}|\)|\]/g) { $count-- };
$statement .=$_ . "";
print "$statement\n";
if (!$count) {
eval $statement;
if ($@) { print "Syntax error.\n"};
$statement="";
$count=0;
}
}
# perl ta.pl
123
123
234
234
sfok
sfok
Unquoted string "sfok" may clash with future reserved word at (eval 3) line 2, <> line 3.
lksf
lksf
Unquoted string "lksf" may clash with future reserved word at (eval 4) line 2, <> line 4.
复制代码
请指教,PS:族长可以先不说,等大家有个机会。。;) :p
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
楼主
|
发表于 2004-2-8 17:23:31
|
显示全部楼层
这是一个交互试的shell,执行的时候以[,{或(开头,中间输入perl代码,以],}或)结束,用于简单的perl语句练习的~ ;)
如:
perl file.pl
{ <=开头
print "ok\n" <=输入语句代码
} <=结尾
ok <显示eval后的结果
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
楼主
|
发表于 2004-2-9 14:30:27
|
显示全部楼层
最初由 devel 发表
这个脚本还需要改进,请兄弟们改改它。。
这是我在<<perl技术内幕>>上抄的~, ;),如果你有的话,可以看一看!
回复
支持
反对
使用道具
举报
显身卡
devel
devel
当前离线
积分
1472
IP卡
狗仔卡
发表于 2004-2-9 22:00:11
|
显示全部楼层
没买有这本书,这是本好入门书,我和javalee强烈向初学者推荐。。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表