tcl ,perl 脚本语言简单入门
2016-07-20 10:32
597 查看
[root@BDI2 ~]# su - hzadmin [hzadmin@BDI2 ~]$ ll total 68 drwxrwxr-x 2 hzadmin hzadmin 40960 Jul 19 09:13 bj_data -rw------- 1 hzadmin hzadmin 26 Sep 28 2015 dead.letter -rw-rw-r-- 1 hzadmin hzadmin 182 Oct 15 2015 log.txt drwxrwxr-x 2 hzadmin hzadmin 12288 Jul 20 03:23 test drwxrwxr-x 2 hzadmin hzadmin 44 Oct 29 2015 trydemo drwxrwxr-x 2 hzadmin hzadmin 29 Jul 19 15:17 t_user drwxrwxr-x 5 hzadmin hzadmin 64 Jul 16 2015 urlAPP drwxrwxr-x 2 hzadmin hzadmin 20 Jul 20 10:17 yc_test [hzadmin@BDI2 ~]$ cd yc_test/ [hzadmin@BDI2 yc_test]$ ll total 4 -rw-rw-r-- 1 hzadmin hzadmin 38 Jul 20 10:17 pro.tcl [hzadmin@BDI2 yc_test]$ pwd /dfs/ftp/hzadmin/yc_test [hzadmin@BDI2 yc_test]$ exit; logout [root@BDI2 ~]# cd /dfs/ftp/hzadmin/yc_test [root@BDI2 yc_test]# ll total 4 -rw-rw-r-- 1 hzadmin hzadmin 38 Jul 20 10:17 pro.tcl [root@BDI2 yc_test]# chmod a+x pro.tcl [root@BDI2 yc_test]# ll total 4 -rwxrwxr-x 1 hzadmin hzadmin 38 Jul 20 10:17 pro.tcl [root@BDI2 yc_test]# ./pro.tcl Hello, world! [root@BDI2 yc_test]# cat pro.tcl #!/usr/bin/tclsh puts "Hello, world!" [root@BDI2 yc_test]# ll total 4 -rwxrwxr-x 1 hzadmin hzadmin 38 Jul 20 10:17 pro.tcl [root@BDI2 yc_test]# cp pro.tcl sum.tcl [root@BDI2 yc_test]# ll total 8 -rwxrwxr-x 1 hzadmin hzadmin 38 Jul 20 10:17 pro.tcl -rwxr-xr-x 1 root root 38 Jul 20 10:21 sum.tcl [root@BDI2 yc_test]# vim sum.tcl [root@BDI2 yc_test]# ll total 8 -rwxrwxr-x 1 hzadmin hzadmin 38 Jul 20 10:17 pro.tcl -rwxr-xr-x 1 root root 38 Jul 20 10:22 sum.tcl [root@BDI2 yc_test]# ./sum.tcl 20 [root@BDI2 yc_test]# cat sum.tcl #!/usr/bin/tclsh puts [expr 1+4+6+9] [root@BDI2 yc_test]# cp pro.tcl set.tcl [root@BDI2 yc_test]# ll total 12 -rwxrwxr-x 1 hzadmin hzadmin 38 Jul 20 10:17 pro.tcl -rwxr-xr-x 1 root root 38 Jul 20 10:24 set.tcl -rwxr-xr-x 1 root root 38 Jul 20 10:22 sum.tcl [root@BDI2 yc_test]# vim set.tcl [root@BDI2 yc_test]# ./set.tcl can't read "a=12": no such variable while executing "set a=12" (file "./set.tcl" line 2) [root@BDI2 yc_test]# vim set.tcl [root@BDI2 yc_test]# ./set.tcl 12 [root@BDI2 yc_test]# cat set.tcl #!/usr/bin/tclsh set a 12 puts $a [root@BDI2 yc_test]# tree -bash: tree: command not found [root@BDI2 yc_test]# ./pro.tcl Hello, world! [root@BDI2 yc_test]# cat pro.tcl #!/usr/bin/tclsh puts "Hello, world!" [root@BDI2 yc_test]# ./sum.tcl 20 [root@BDI2 yc_test]# cat sum.tcl #!/usr/bin/tclsh puts [expr 1+4+6+9] [root@BDI2 yc_test]#
[root@BDI2 yc_test]# ll total 16 -rwxr-xr-x 1 root root 304 Jul 20 10:58 for.tcl -rwxrwxr-x 1 hzadmin hzadmin 38 Jul 20 10:17 pro.tcl -rwxr-xr-x 1 root root 34 Jul 20 10:25 set.tcl -rwxr-xr-x 1 root root 38 Jul 20 10:22 sum.tcl [root@BDI2 yc_test]# ./for.tcl Hello, world! Hi my name is john 2:29:1987 wrong # args: should be "puts ?-nonewline? ?channelId? string" while executing "puts hi eval expression is called!" ("eval" body line 1) invoked from within "eval $foo" (file "./for.tcl" line 14) [root@BDI2 yc_test]# vim for.tcl [root@BDI2 yc_test]# ./for.tcl Hello, world! Hi my name is john 2:29:1987 wrong # args: should be "puts ?-nonewline? ?channelId? string" while executing "puts 'hi eval expression is called'" ("eval" body line 1) invoked from within "eval $foo" (file "./for.tcl" line 14) [root@BDI2 yc_test]# vim for.tcl [root@BDI2 yc_test]# ./for.tcl Hello, world! Hi my name is john 2:29:1987 wrong # args: should be "puts ?-nonewline? ?channelId? string" while executing "puts ? 'hi eval expression is called'" ("eval" body line 1) invoked from within "eval $foo" (file "./for.tcl" line 14) [root@BDI2 yc_test]# vim for.tcl [root@BDI2 yc_test]# ./for.tcl Hello, world! Hi my name is john 2:29:1987 wrong # args: should be "puts ?-nonewline? ?channelId? string" while executing "puts ? hi eval expression is called" ("eval" body line 1) invoked from within "eval $foo" (file "./for.tcl" line 14) [root@BDI2 yc_test]# catfor.tcl -bash: catfor.tcl: command not found [root@BDI2 yc_test]# cat for.tcl #!/usr/bin/tclsh puts "Hello, world!" #简单例子 set foo "john" puts "Hi my name is $foo" set month 2 set day 29 set year 1987 set date "$month:$day:$year" puts $date set foo "puts ? hi eval expression is called" eval $foo for {set i 0} {$i < 10} {incr i 1} { puts "In the for loop, and i == $i" } [root@BDI2 yc_test]# vim for.tcl [root@BDI2 yc_test]# cat for.tcl #!/usr/bin/tclsh puts "Hello, world!" #简单例子 set foo "john" puts "Hi my name is $foo" set month 2 set day 29 set year 1987 set date "$month:$day:$year" puts $date #not work !!! #set foo "puts ? hi eval expression is called" #eval $foo for {set i 0} {$i < 10} {incr i 1} { puts "In the for loop, and i == $i" } [root@BDI2 yc_test]# ./for.tcl Hello, world! Hi my name is john 2:29:1987 In the for loop, and i == 0 In the for loop, and i == 1 In the for loop, and i == 2 In the for loop, and i == 3 In the for loop, and i == 4 In the for loop, and i == 5 In the for loop, and i == 6 In the for loop, and i == 7 In the for loop, and i == 8 In the for loop, and i == 9 [root@BDI2 yc_test]#
[root@cdh1 work]# cat per-test-2.pl #!/usr/bin/perl # 子程序 # # @_ 符号包含所有传递给子程序的参数 sub subFunc1 { print "\nsubroutine 1\n"; } sub subFunc2 { print "subroutine 2\n"; return "I like Perl.\n"; } sub subFunc3 { my ($param1, $param2) = @_; print $param1, $param2, "\n"; } # calling subroutine subFunc1(); # 或者 &subFunc1; print subFunc2(); subFunc3("Ooops...", 123); # 正则表达式 # 查找:在$re_test中查找oo # =~是绑定操作符 my $re_test = "Google"; if($re_test =~ /oo/) { print "Bingo!\n"; } # 替换;在$re_test中用xx替换oo if($re_test =~ s/oo/xx/){ print $re_test, "\n"; } # 匹配修饰符 # i, g my $re_test2 = "FacebOok"; if($re_test2 =~ /oo/i){ print "Bingo!\n"; } [root@cdh1 work]# cp per-test-2.pl per-test-3.pl [root@cdh1 work]# cat per-test-3.pl #!/usr/bin/perl # 子程序 # # @_ 符号包含所有传递给子程序的参数 sub subFunc1 { print "\nsubroutine 1\n"; } sub subFunc2 { print "subroutine 2\n"; return "I like Perl.\n"; } sub subFunc3 { my ($param1, $param2) = @_; print $param1, $param2, "\n"; } # calling subroutine subFunc1(); # 或者 &subFunc1; print subFunc2(); subFunc3("Ooops...", 123); # 正则表达式 # 查找:在$re_test中查找oo # =~是绑定操作符 my $re_test = "Google"; if($re_test =~ /oo/) { print "Bingo!\n"; } # 替换;在$re_test中用xx替换oo if($re_test =~ s/oo/xx/){ print $re_test, "\n"; } # 匹配修饰符 # i, g my $re_test2 = "FacebOok"; if($re_test2 =~ /oo/i){ print "Bingo!\n"; } [root@cdh1 work]# vim per-test-3.pl [root@cdh1 work]# ./ per-test-3.pl bash: ./: is a directory [root@cdh1 work]# ./per-test-3.pl subroutine 1 subroutine 1 subroutine 2 I like Perl. Ooops...123 Bingo! Gxxgle Bingo! [root@cdh1 work]# cat per-test-3.pl #!/usr/bin/perl # 子程序 # # @_ 符号包含所有传递给子程序的参数 sub subFunc1 { print "\nsubroutine 1\n"; } sub subFunc2 { print "subroutine 2\n"; return "I like Perl.\n"; } sub subFunc3 { my ($param1, $param2) = @_; print $param1, $param2, "\n"; } # calling subroutine subFunc1(); # 或者 &subFunc1; print subFunc2(); subFunc3("Ooops...", 123); # 正则表达式 # 查找:在$re_test中查找oo # =~是绑定操作符 my $re_test = "Google"; if($re_test =~ /oo/) { print "Bingo!\n"; } # 替换;在$re_test中用xx替换oo if($re_test =~ s/oo/xx/){ print $re_test, "\n"; } # 匹配修饰符 # i, g my $re_test2 = "FacebOok"; if($re_test2 =~ /oo/i){ print "Bingo!\n"; } if($re_test2 =~ /oo/){ print "Bingo!\n"; } [root@cdh1 work]# cp per-test-3.pl per-test-4.pl [root@cdh1 work]# cat per-test-3.pl #!/usr/bin/perl # 子程序 # # @_ 符号包含所有传递给子程序的参数 sub subFunc1 { print "\nsubroutine 1\n"; } sub subFunc2 { print "subroutine 2\n"; return "I like Perl.\n"; } sub subFunc3 { my ($param1, $param2) = @_; print $param1, $param2, "\n"; } # calling subroutine subFunc1(); # 或者 &subFunc1; print subFunc2(); subFunc3("Ooops...", 123); # 正则表达式 # 查找:在$re_test中查找oo # =~是绑定操作符 my $re_test = "Google"; if($re_test =~ /oo/) { print "Bingo!\n"; } # 替换;在$re_test中用xx替换oo if($re_test =~ s/oo/xx/){ print $re_test, "\n"; } # 匹配修饰符 # i, g my $re_test2 = "FacebOok"; if($re_test2 =~ /oo/i){ print "Bingo!\n"; } if($re_test2 =~ /oo/){ print "Bingo!\n"; } [root@cdh1 work]# vim per-test-4.pl [root@cdh1 work]# ls -l per-test-4.pl -rwxr-xr-x 1 root root 805 Jul 19 02:40 per-test-4.pl [root@cdh1 work]# ./per-test-4.pl [root@cdh1 work]# echo 12,34 45 6767 78978>>1.txt bash: 78978: Bad file descriptor [root@cdh1 work]# echo 1234 45 6767 78978>>1.txt bash: 78978: Bad file descriptor [root@cdh1 work]# touch 1.txt [root@cdh1 work]# ll total 20 -rw-r--r-- 1 root root 0 Jul 19 02:42 1.txt -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 711 Jul 19 02:11 per-test-2.pl -rwxr-xr-x 1 root root 756 Jul 19 02:26 per-test-3.pl -rwxr-xr-x 1 root root 805 Jul 19 02:40 per-test-4.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# echo 1234 45 6767 78978>>1.txt bash: 78978: Bad file descriptor [root@cdh1 work]# echo 1234 45 6767 78978>>1.txt bash: 78978: Bad file descriptor [root@cdh1 work]# vim 1.txt [root@cdh1 work]# ./per-test-4.pl 1 2 3 4 5 6 7 8 9 10 1234 45 6767 78978 [root@cdh1 work]# cat per-test-4.pl #!/usr/bin/perl # open()函数打开一个文件 # # 读文件$file,将文件的标识符附给$fileHandle my $file2open="./1.txt"; my $fileHandle; open($fileHandle, "<$file2open"); # # <>符号用于读取$fileHandle指向的内容 # # 利用钻石操作符号<>,你可以: # # 1. 将$fileHandle指向的内容附给一个标量,这样只读一行就over # # my $line = <$fileHandle>; # # 2. 将$fileHandle指向的内容附给一个数组,将每一行作为一个element # # my @lines = <$fileHandle>; # # 3. 常用于while或者foreach foreach (<$fileHandle>) { print $_; } # # 写文件$file # open($fileHandle, ">$file2open"); # print $fileHandle "abc"; # # 追加写入 # open($fileHandle, ">>$file2open"); # print $fileHandle "def"; # # 关闭文件 close($fileHandle); [root@cdh1 work]# vim per-test-4.pl [root@cdh1 work]# ./per-test-4.pl 1 2 3 4 5 6 7 8 9 10 1234 45 6767 78978 [root@cdh1 work]# ./per-test-4.pl abc[root@cdh1 work]# ./per-test-4.pl abc[root@cdh1 work]# ./per-test-4.pl abc[root@cdh1 work]# vim per-test-4.pl [root@cdh1 work]# ./per-test-4.pl abc[root@cdh1 work]# ./per-test-4.pl abcdef[root@cdh1 work]# ./per-test-4.pl abcdef[root@cdh1 work]# ./per-test-4.pl abcdef[root@cdh1 work]# ./per-test-4.pl abcdef[root@cdh1 work]# ./per-test-4.pl abcdef[root@cdh1 work]# ./per-test-4.pl abcdef[root@cdh1 work]# ./per-test-4.pl abcdef[root@cdh1 work]# ./per-test-4.pl abcdef[root@cdh1 work]# cat per-test-4.pl #!/usr/bin/perl # open()函数打开一个文件 # # 读文件$file,将文件的标识符附给$fileHandle my $file2open="./1.txt"; my $fileHandle; open($fileHandle, "<$file2open"); # # <>符号用于读取$fileHandle指向的内容 # # 利用钻石操作符号<>,你可以: # # 1. 将$fileHandle指向的内容附给一个标量,这样只读一行就over # # my $line = <$fileHandle>; # # 2. 将$fileHandle指向的内容附给一个数组,将每一行作为一个element # # my @lines = <$fileHandle>; # # 3. 常用于while或者foreach foreach (<$fileHandle>) { print $_; } # # 写文件$file open($fileHandle, ">$file2open"); print $fileHandle "abc"; # # 追加写入 open($fileHandle, ">>$file2open"); print $fileHandle "def"; # # 关闭文件 close($fileHandle); [root@cdh1 work]# vim per-test-4.pl [root@cdh1 work]# cat per-test-4.pl #!/usr/bin/perl # open()函数打开一个文件 # # 读文件$file,将文件的标识符附给$fileHandle my $file2open="./1.txt"; my $fileHandle; open($fileHandle, "<$file2open"); # # <>符号用于读取$fileHandle指向的内容 # # 利用钻石操作符号<>,你可以: # # 1. 将$fileHandle指向的内容附给一个标量,这样只读一行就over # # my $line = <$fileHandle>; # # 2. 将$fileHandle指向的内容附给一个数组,将每一行作为一个element # # my @lines = <$fileHandle>; # # 3. 常用于while或者foreach foreach (<$fileHandle>) { print $_; } # # 写文件$file #open($fileHandle, ">$file2open"); #print $fileHandle "abc"; # # 追加写入 open($fileHandle, ">>$file2open"); print $fileHandle "def"; # # 关闭文件 close($fileHandle); [root@cdh1 work]# ./per-test-4.pl abcdef[root@cdh1 work]# ./per-test-4.pl abcdefdef[root@cdh1 work]# ./per-test-4.pl abcdefdefdef[root@cdh1 work]# ./per-test-4.pl abcdefdefdefdef[root@cdh1 work]# ./per-test-4.pl abcdefdefdefdefdef[root@cdh1 work]# [root@cdh1 work]# [root@cdh1 work]# vim foeach.pl [root@cdh1 work]# ll total 28 -rw-r--r-- 1 root root 21 Jul 19 03:04 1.txt -rw-r--r-- 1 root root 449 Jul 19 03:13 foeach.pl -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 711 Jul 19 02:11 per-test-2.pl -rwxr-xr-x 1 root root 756 Jul 19 02:26 per-test-3.pl -rwxr-xr-x 1 root root 799 Jul 19 03:04 per-test-4.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# chmod a+x foeach.pl [root@cdh1 work]# ll total 28 -rw-r--r-- 1 root root 21 Jul 19 03:04 1.txt -rwxr-xr-x 1 root root 449 Jul 19 03:13 foeach.pl -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 711 Jul 19 02:11 per-test-2.pl -rwxr-xr-x 1 root root 756 Jul 19 02:26 per-test-3.pl -rwxr-xr-x 1 root root 799 Jul 19 03:04 per-test-4.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# ./foeach.pl OK1 OK2 while ... 10 while ... 9 while ... 8 while ... 7 while ... 6 while ... 5 while ... 4 while ... 3 while ... 2 while ... 1 1 2 3 a [root@cdh1 work]# cat foeach.pl #!/usr/bin/perl my $isOK = 1; if ($isOK) { # ()和{}在这里都是必须使用的 print "OK1\n"; } else { print "Ooops1...\n"; } # 或者这样写: print "OK2\n" if $isOK; # while my $count = 10; while($count > 0) { print "while ... $count\n"; $count -= 1; } # 因为foreach的存在,for在Perl中用得很少,它的写法和C一样 my @array = (1, 2, 3, "a"); foreach my $elm (@array) { print $elm, "\n"; } [root@cdh1 work]# cp foeach.pl hash.pl [root@cdh1 work]# vim hash.pl [root@cdh1 work]# ll total 32 -rw-r--r-- 1 root root 21 Jul 19 03:04 1.txt -rwxr-xr-x 1 root root 449 Jul 19 03:13 foeach.pl -rwxr-xr-x 1 root root 779 Jul 19 03:18 hash.pl -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 711 Jul 19 02:11 per-test-2.pl -rwxr-xr-x 1 root root 756 Jul 19 02:26 per-test-3.pl -rwxr-xr-x 1 root root 799 Jul 19 03:04 per-test-4.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# ./hash.pl Unrecognized character \xE6 in column 2 at ./hash.pl line 3. [root@cdh1 work]# vim hash.pl [root@cdh1 work]# cat hash.pl #!/usr/bin/perl @var_array = (1, 2, 3, "a", "b", "c"); #或者 # @var_array = qw(1 2 3 a b c); # # 或者 # @var_array = qw/1 2 3 a b c/; print "The 2nd elm of var_array is $var_array[1]\n"; # # 数组切片 # # 1. 输出数组中某两个值 print @var_array[0, 2], "\n"; # # 2. 用连接符..输出数组中一个区间中的所有值 print @var_array[0..3], "\n"; # # 用%后接变量名表示一个哈希,即"键值对"的集合 # # => 符号左边是键,右边是值 %var_hashes = (a => "Apple", b => "Blizzard"); print "One elm of var_hashes is $var_hashes{\"b\"}\n"; # # 用keys()或values()两个函数分别获取哈希表的所有键或所有值 my @allKeys = keys %var_hashes; my @allValues = values %var_hashes; print @allKeys; print @allValues; [root@cdh1 work]# ./hash.pl The 2nd elm of var_array is 2 13 123a One elm of var_hashes is Blizzard abAppleBlizzard[root@cdh1 work]# vim hash.pl [root@cdh1 work]# ./hash.pl The 2nd elm of var_array is 2 13 123a One elm of var_hashes is Blizzard ab AppleBlizzard [root@cdh1 work]# cat hash.pl #!/usr/bin/perl @var_array = (1, 2, 3, "a", "b", "c"); #或者 # @var_array = qw(1 2 3 a b c); # # 或者 # @var_array = qw/1 2 3 a b c/; print "The 2nd elm of var_array is $var_array[1]\n"; # # 数组切片 # # 1. 输出数组中某两个值 print @var_array[0, 2], "\n"; # # 2. 用连接符..输出数组中一个区间中的所有值 print @var_array[0..3], "\n"; # # 用%后接变量名表示一个哈希,即"键值对"的集合 # # => 符号左边是键,右边是值 %var_hashes = (a => "Apple", b => "Blizzard"); print "One elm of var_hashes is $var_hashes{\"b\"}\n"; # # 用keys()或values()两个函数分别获取哈希表的所有键或所有值 my @allKeys = keys %var_hashes; my @allValues = values %var_hashes; print @allKeys,"\n"; print @allValues,"\n"; [root@cdh1 work]# [root@cdh1 Desktop]# cd /usr/local/ [root@cdh1 local]# ll total 59660 drwxr-xr-x 6 root root 4096 Jun 15 07:57 apache-maven-3.3.9 drwxr-xr-x. 2 root root 4096 Jul 1 00:21 bin drwxrwxr-x 11 1000 1000 4096 Jul 1 01:49 Django-1.9.7 drwxr-xr-x. 2 root root 4096 Sep 23 2011 etc drwxr-xr-x 2 root root 4096 Jun 15 07:49 flume drwxr-xr-x. 2 root root 4096 Sep 23 2011 games drwxr-xr-x 15 root root 4096 Jun 13 2015 hadoop drwxr-xr-x 10 1106 592 4096 Jul 3 19:31 hive -rw-r--r-- 1 root root 82038 Jul 12 02:58 hive-site.xml -rwxr-xr-x 1 root root 61603840 Jul 12 02:53 hive.tar drwxr-xr-x. 4 root root 4096 Jun 30 18:31 include drwxr-xr-x 8 uucp 143 4096 Jul 30 2014 jdk drwxr-xr-x. 5 root root 4096 Jun 30 23:49 lib drwxr-xr-x. 2 root root 4096 Sep 23 2011 libexec drwxr-xr-x 10 109965 5000 4096 Jun 16 04:46 protobuf drwxr-xr-x 6 root root 4096 Jun 30 22:41 python drwxr-xr-x 6 root root 4096 Jul 1 00:11 python3 drwxr-xr-x. 2 root root 4096 Sep 23 2011 sbin drwxr-xr-x. 5 root root 4096 Sep 9 2013 share drwxr-xr-x 3 root root 4096 Jul 15 03:05 shell-test -rw-r--r-- 1 root root 14 Jul 4 2015 slaves drwxr-xr-x. 2 root root 4096 Jun 16 16:12 src drwxr-xr-x 2 root root 4096 Jul 18 20:21 work [root@cdh1 local]# cd work/ [root@cdh1 work]# ll total 8 -rwxr-xr-x 1 root root 48 Jul 18 20:20 per-test.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# cp per-test.pl per-test-1.pl [root@cdh1 work]# cp per-test.pl per-test-2.pl [root@cdh1 work]# cp per-test.pl per-test-3.pl [root@cdh1 work]# cp per-test.pl per-test-4.pl [root@cdh1 work]# cp per-test.pl per-test-5.pl [root@cdh1 work]# cp per-test.pl per-test-6.pl [root@cdh1 work]# cp per-test.pl per-test-7.pl [root@cdh1 work]# cp per-test.pl per-test-8.pl [root@cdh1 work]# cp per-test.pl per-test-9.pl [root@cdh1 work]# cp per-test.pl per-test-10.pl [root@cdh1 work]# vim per-test.pl [2]+ Stopped vim per-test.pl [root@cdh1 work]# vim per-test.pl [3]+ Stopped vim per-test.pl [root@cdh1 work]# vim per-test-1.pl [root@cdh1 work]# ./per-test-1.pl Hello world. Hello $var\nHello, world Hello, world 1The scalar's value is 1 The scalar's value is1 The 2nd elm of var_array is 2 13 123a [root@cdh1 work]# cat per-test-1.pl #!/usr/bin/env perl $var = "world."; print "Hello $var\n"; #输出为:Hello world. print 'Hello $var\n'; #输出为:Hello $var\n #关于style print("Hello, world\n"); #OK print "Hello, world\n"; #OK $var_scalar = 1; print $var_scalar; print "The scalar's value is $var_scalar\n"; print "The scalar's value is", $var_scalar, "\n"; @var_array = (1, 2, 3, "a", "b", "c"); #@var_array = qw(1 2 3 a b c); #@var_array = qw/1 2 3 a b c/; print "The 2nd elm of var_array is $var_array[1]\n"; print @var_array[0, 2], "\n"; print @var_array[0..3], "\n"; [root@cdh1 work]# ll total 48 -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-10.pl -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-2.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-3.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-4.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-5.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-6.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-7.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-8.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-9.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# rm -rf per-test-10.pl [root@cdh1 work]# ll total 44 -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-2.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-3.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-4.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-5.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-6.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-7.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-8.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-9.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# rm -rf per-test-9.pl [root@cdh1 work]# ll total 40 -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-2.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-3.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-4.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-5.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-6.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-7.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-8.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# ll total 40 -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-2.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-3.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-4.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-5.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-6.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-7.pl -rwxr-xr-x 1 root root 584 Jul 19 00:26 per-test-8.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# cat per-test-1.pl #!/usr/bin/env perl $var = "world."; print "Hello $var\n"; #输出为:Hello world. print 'Hello $var\n'; #输出为:Hello $var\n #关于style print("Hello, world\n"); #OK print "Hello, world\n"; #OK $var_scalar = 1; print $var_scalar; print "The scalar's value is $var_scalar\n"; print "The scalar's value is", $var_scalar, "\n"; @var_array = (1, 2, 3, "a", "b", "c"); #@var_array = qw(1 2 3 a b c); #@var_array = qw/1 2 3 a b c/; print "The 2nd elm of var_array is $var_array[1]\n"; print @var_array[0, 2], "\n"; print @var_array[0..3], "\n"; [root@cdh1 work]# cat per-test-9.pl cat: per-test-9.pl: No such file or directory [root@cdh1 work]# cat per-test-8.pl $var = "world."; print "Hello $var\n"; #输出为:Hello world. print 'Hello $var\n'; #输出为:Hello $var\n #关于style print("Hello, world\n"); #OK print "Hello, world\n"; #OK $var_scalar = 1; print $var_scalar; print "The scalar's value is $var_scalar\n"; print "The scalar's value is", $var_scalar, "\n"; @var_array = (1, 2, 3, "a", "b", "c"); #@var_array = qw(1 2 3 a b c); #@var_array = qw/1 2 3 a b c/; print "The 2nd elm of var_array is $var_array[1]\n"; print @var_array[0, 2], "\n"; print @var_array[0..3], "\n"; [root@cdh1 work]# rm -rf per-test-8.pl [root@cdh1 work]# rm -rf per-test-7.pl [root@cdh1 work]# rm -rf per-test-6.pl [root@cdh1 work]# rm -rf per-test-5.pl [root@cdh1 work]# rm -rf per-test-4.pl [root@cdh1 work]# ll total 20 -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-2.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-3.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# rm -rf per-test-3.pl [root@cdh1 work]# ll total 16 -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test-2.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# vim per-test-2.pl [root@cdh1 work]# ll total 16 -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 711 Jul 19 02:11 per-test-2.pl -rwxr-xr-x 1 root root 584 Jul 19 00:25 per-test.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# ./per-test-1.pl Hello world. Hello $var\nHello, world Hello, world 1The scalar's value is 1 The scalar's value is1 The 2nd elm of var_array is 2 13 123a [root@cdh1 work]# ./per-test.pl ./per-test.pl: line 1: =: command not found ./per-test.pl: line 2: print: command not found ./per-test.pl: line 4: print: command not found ./per-test.pl: line 7: syntax error near unexpected token `"Hello, world\n"' ./per-test.pl: line 7: `print("Hello, world\n");' [root@cdh1 work]# rm -rf per-test.pl [root@cdh1 work]# ll total 12 -rwxr-xr-x 1 root root 604 Jul 19 00:27 per-test-1.pl -rwxr-xr-x 1 root root 711 Jul 19 02:11 per-test-2.pl -rwxr-xr-x 1 root root 48 Jul 18 20:11 test.pl [root@cdh1 work]# ./test.pl test message! [root@cdh1 work]# ./per-test-2.pl subroutine 1 subroutine 1 subroutine 2 I like Perl. Ooops...123 Bingo! Gxxgle Bingo! [root@cdh1 work]#
相关文章推荐
- 极度简约,最小 Linux 发行版 Tiny Core Linux 7.1 发布
- Perl模块编写说明
- perl如何避免脚本在windows中闪一下就关闭
- Perl中的特殊内置变量详细介绍
- linux下使用perl获取本机ip的几种方法介绍
- perl 控制结构 条件控制 if while
- Perl中的列表和数组学习笔记
- perl数据库添加、删除、更新、查询操作例子
- perl操作MongoDB报错undefined symbol: HeUTF8解决方法
- Perl中使用MIME::Lite发送邮件实例
- 什么是Perl?编程语言Perl详细介绍
- About Perl(翻译Perl官网介绍)
- perl 基本语法介绍
- perl 模式匹配参数详解
- PERL脚本 学习笔记
- perl 列表和数组变量详解
- 探索Perl的世界(更新到40集)-Perl视频教程
- perl 文件读写详细说明
- perl中5个常见错误
- Perl ASCII 字符判断