LinuxSir.Org  
| 网站首页 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
置顶的主题 精华主题  
主题工具
旧 03-09-28, 20:52 第 31 帖
Kevin 帅哥
 
Kevin 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 1,223
  精华: 0
 

引用:
最初由 devel 发表
26 printf "@array[2]\n";
27 @array[1]++;
28 printf "@array[1]\n";
29 ++@array[1];
30 printf "@array[1]\n",
31 @array[1]=2;
32 --@array[1];
33 printf "@array[1]\n";
34 @array[1]--;
# perl array
Array found where operator expected at array line 31, at end of line
(Missing semicolon on previous line?)
syntax error at array line 31, near "@array"
Execution of array aborted due to compilation errors.
你真的是很粗心,看上面第30行,







__________________
2011年,LinuxSir 风雨四人行
  Kevin 当前离线   回复时引用此帖
旧 03-09-29, 01:55 第 32 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

看仔细你是怎么写的喽!!!
引用:
30 printf "@array[1]\n",

此帖于 03-09-29 01:57 被 KornLee 编辑.
  KornLee 当前离线   回复时引用此帖
旧 03-09-29, 02:06 第 33 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

我也遇到过, perl总是这样的!
1 #!perl
2 print "input:" #出错在第2行,少了个分号;
3 chomp($input=<>);
而运行的出错信息确是:
syntax error at my.pl line 3, near "chomp" #却提示第3行的问题!
Execution of my.pl aborted due to compilation errors.
  KornLee 当前离线   回复时引用此帖
旧 03-09-29, 02:21 第 34 帖
Kevin 帅哥
 
Kevin 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 1,223
  精华: 0
 

引用:
最初由 javalee 发表
看仔细你是怎么写的喽!!!
不是吧,版主好偏心哦,对我这么凶,


呵呵~~~~~~~~~

管他怎么写的,只是给个提示就行了,明眼人一看就知道的哦,


没看见提示嘛, (Missing semicolon on previous line?)

用turbo c编C和的时候提示也不是很准确的,它哪有那么聪明,
  Kevin 当前离线   回复时引用此帖
旧 03-09-29, 16:55 第 35 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 devel 发表
:o :o
对不起,心烦就怎么都看不到错误了。
嘿嘿~~,
以后注意喽~~
  KornLee 当前离线   回复时引用此帖
旧 03-09-29, 18:17 第 36 帖
devel
 
devel 的头像
 
 
已封禁  
  注册日期: Sep 2003
  我的住址: 自由的世界 !
  帖子: 1,472
  精华: 6
 

# cat t2
#!/usr/bin/perl5
$a="one two three";
printf "$a\n\n";
$a=split("",$a);
printf "$a\n\n";
@b=split (" ",$a);
printf "@b\n\n";
#
$d="one - two - three";
@d=split ("",$d);
printf "@d\n\n";
@w=spilt (" ",$d);
printf "@w\n\n";
@e=split("-",$d);
printf "@e\n\n";

#
请问split是怎么用的。照书抄运行结果不同书上的。我都弄糊涂了.
  devel 当前离线   回复时引用此帖
旧 03-09-29, 19:12 第 37 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 devel 发表
...
请问split是怎么用的。照书抄运行结果不同书上的。我都弄糊涂了. [/b]
我的书上怎么没有这个函数? :ask 我的书上有splice(拼接数组)
  KornLee 当前离线   回复时引用此帖
旧 03-09-29, 19:24 第 38 帖
devel
 
devel 的头像
 
 
已封禁  
  注册日期: Sep 2003
  我的住址: 自由的世界 !
  帖子: 1,472
  精华: 6
 

唉~~~~~~~~那书很差,很多基础的都不提,
我看看拉了这么多,生气, 那些稀奇古怪的函数就有几个。

:( :(
  devel 当前离线   回复时引用此帖
旧 03-09-29, 19:34 第 39 帖
Kevin 帅哥
 
Kevin 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 1,223
  精华: 0
 

引用:
最初由 devel 发表

请问split是怎么用的。照书抄运行结果不同书上的。我都弄糊涂了. [/b]
http://chinese.pku.edu.cn/netstudy/p....php-split.htm

跟这个差不多哦,
  Kevin 当前离线   回复时引用此帖
旧 03-09-29, 22:09 第 40 帖
Kevin 帅哥
 
Kevin 的头像
 
 
管理员  
  注册日期: Apr 2002
  帖子: 1,223
  精华: 0
 

引用:
最初由 devel 发表

#
请问split是怎么用的。照书抄运行结果不同书上的。我都弄糊涂了.
split的用法,

split("a",$b);
替换b中包含的a为空格



split是正则表达式里的用法,用于分割的

此帖于 03-09-29 23:02 被 Kevin 编辑.
  Kevin 当前离线   回复时引用此帖
旧 03-09-29, 23:37 第 41 帖
devel
 
devel 的头像
 
 
已封禁  
  注册日期: Sep 2003
  我的住址: 自由的世界 !
  帖子: 1,472
  精华: 6
 

# cat hash
#!/perl5
%hash1 =(a,1,b,c,d,e,f,g);
$value=$hash1{a};
printf "1 $value \n";
$value1=$hash1{c};
printf "2 $value1\n";
$hash1{e}=5;
$value2=$hash1{e};
printf "3 $value2 \n";
$hash2{f}=6;
$value3=$hash2{f};
printf "4 $value3 \n";

#
怎么第二行输出就没有?漏了什么不要打我屁股哦
还有个问题:
怎么打印出新的散列?

此帖于 03-09-29 23:50 被 devel 编辑.
  devel 当前离线   回复时引用此帖
旧 03-09-29, 23:51 第 42 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

在perl的散列表(哈希表)中,他们是这样的
%hash=(key,value ...)
也就是说,键(key)和值(value)是一一对应的(必须是成对的)!
在你的%hash中,他们的对应关系如下:
key value
a 1
b c
d e
f g
I don't know what do you want to do !
建议你先搞清key和value的关系!
补充:
想得到一个散列(哈希表)中的值,可以通过:
print $hash{key};
只有打印所有的散列的时候才用:
print %hash;
因为在散列中,每个元素(键/值)都以标量的形式存在,所以要显示某个键/值对,就必须用$hash{key},
而当出现赋值的时候,像,
$var=$hash{key};
的时候,实际上$var获取的不过是他的长度而不是他的值!
(而数组因为他的下标是0,是可以通过数字索引来获取对应的元素的,但散列是通过key(键)来获取value(值)的.)
这样的方法,即,通过key来获取相应的value.
(MM,我推荐你买本<<Perl技术内幕>>吧,那里把数组和散列介绍的贼详细!
)
唠叨了半天不知所云~~,还是那个理儿~~,实践吃真知!,,,,遇到问题的时候,要逐行逐字的找毛病!(我的"经验" )

此帖于 03-09-30 00:54 被 KornLee 编辑.
  KornLee 当前离线   回复时引用此帖
旧 03-09-30, 14:47 第 43 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 devel 发表
[b]/B]
devel兄言重啦~~,我希望你好好的仔细的把perl中标量,数组,散列等基础的东西再仔细看看,我想会你有很大帮助的! OK ?!
  KornLee 当前离线   回复时引用此帖
旧 03-10-02, 20:06 第 44 帖
devel
 
devel 的头像
 
 
已封禁  
  注册日期: Sep 2003
  我的住址: 自由的世界 !
  帖子: 1,472
  精华: 6
 

好的。

请问怎么使输入的数据不显示?
  devel 当前离线   回复时引用此帖
旧 03-10-02, 22:58 第 45 帖
777
 
777 的头像
 
 
已封禁  
  注册日期: Jun 2003
  我的住址: 中国
  帖子: 990
  精华: 6
 

请问:
解释不同?是不是版本问题?
例子:
/\w/ /[_0-9a-zA-Z]/
/\w/ /[0-9a-zA-Z]/
有两种不同的解释哦~

此帖于 03-10-02 23:05 被 777 编辑.
  777 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 11:51


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2012, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2011, LinuxSir.Org