Perl入门

Perl语言入门指南:从零开始掌握强大的脚本语言 Perl,全称为 Practical Extraction and Report Language(实用提取与报告语言),是由Larry Wall于1987年开发的一种编程语言。最初设计的目的是为了方便文本处理,但随着时间的推移,Perl已发展成为一种功能强大、用途广泛的编程语言,应用于系统管理、Web开发、网络编程、数据库访问等多个领域。VimVim是一个强大的文本编辑器,支持多种编程语言的语法高亮和自动补全,可以通过安装Perl插件增强其功能。安装Perl插件:配置语法高亮:在.vimrc。 阅读详情


根据网易云课程整理,禁转

简介

时间:Larry Wall 1987
Practical Extraction and Reporting Language
perl第三方包网站
学习书籍:Perl 语言入门(小骆驼)
生信领域需要对perl进行学习
perl环境搭建:eclipse生信编程环境搭建

标量

数字

整数
浮点数

数字操作

加减乘除 + - * /
求余数% 求幂**

字符串

单引号/双引号引起来的字符为字符串
perl中单引号与双引号区别

字符串中的转义字符\

\t 表示tab空白
\n 表示换行符

print "one day\n";
print "one \"day\"\n"; #转义双引号
print "one \\day\n";  #转义反斜杠
字符串的特殊表示q()/qq()

使代码更清晰

qq(string in "qq") #="string in \"qq\""
q(string in 'q') #='string in \'q\''

*()可换乘<>,{},[]等配对字符,如qq/string in "qq"/

字符串的操作
  • 字符串连接 .
  • 获得字符串长度 length()
  • 字符串截取. substr()
print "hello"." word"."\n"; #hello world
print length("hello");
print substr("ATCCGG",3,3); #从第三个字符开始取三个字符
print substr("ATCCGG",3,-3); #去掉开头和结尾三个字符
字符串和数字转换

perl在某些情况下会自动转换print 12+"12"

split 按指定字符分隔字符串
my $str = "aa:bb:cc";
my @split_str = split (/:/, $str, 2);
#split(/分隔符/, 变量名,分隔成几个元素),返回数组
print "@split_str";
chomp 去换行符
my $str = "aa:bb:cc\n";
chomp $str;

标量变量

变量是存储在内存中的数据,创建一个变量就会在内存上开辟一个空间
标量变量用 $ ,声明变量用 my my$name;
Perl 变量命名规则

变量的赋值

变量赋值符号 =

my$number=10;
my$number1=$number+20;

my$name="abc\n";
print $name;
my$love="I love " . $name;

变量创建不赋值,默认为undef
my$number=undef; / my$number;
注:空字符串不等于未定义

  • 为什么要使用变量?
    如果需要对变量内容进行修改只需要修改一处代码
  • 为什么要使用my?
    使用my会有重复变量名提示
字符串中变量内插

只在双引号中支持,单引号中不支持

my $name="abc";
print "this is $name\n";  #=print "this is " . $name . "\n"

如何避免变量内插变量名歧义

my $name = "abc";
my $names = "efg";
print "this is $names\n";  # this is efg
print "this is ${name}s\n";  #this is abcs

判断语句

判断操作符
比较数字字符串
相等==eq
不等!=ne
小于<lt
大于>gt
小于/等于<=le
大于/等于>=ge

布尔表达式:
35 ==35.0 #返回真
"35" eq "35.0" #返回假(当作字符串比较)

if判断语句
my $num = 10;
if($num > 20){
	#if true
	print "$num is larger than 20\n";
}
print "\$num is $num\n";

注意perl对于字符串和数字的自动转换
固定为false: 0 / undef / “”

if …else语句
my $var = 0;
if($var){
	print "$var is true\n";
}else{
	print "$var is false\n";
}
if…elsif语句
my $ num =100;
if ($num > 200){
	print "\$num > 200\n";
}elsif($num >100){
	print "\$num >100\n";
}else{
	print "\$num is very small\n";
}
if多重判断
my $num = 100;
if($num > 100 and $num < 200){
	print "\$num >100 and \$num <200\n";
}
if(($num > 100 || $num >80) and $num < 200){
	print "\$num >80 and \$num <200\n";
}

多个条件同时为真:and &&
多个条件有一个为真:or ||
多个条件时,通过()来表明判断顺序

列表和数组

列表(list):标量的有序集合
数组(array):存储列表的变量
数组创建:@ my @arry = (22,"perl")

列表

列表产生
  • 列表用()产生
    (1,2,3) 包含三个数字的列表
    (1,2,3,) 同上,末尾逗号被忽略
    (1,"perl") 标量类型可混合
    () 空列表

  • 产生连续的数字列表…
    (1..5) (1,2,3,4,5)
    (1.5..5.7) 同上,小数部分被忽略
    (1,5..8) (1,5,6,7,8)
    ($m..$n) 可以用变量表示,范围由 m 和 m和 m和n当前的值来决定

列表赋值给变量

my ($ID, $gene, $num) = ("ID1", "ATTCG", undef);
如果列表中元素数量大于变量数量,列表中多余元素被忽略

列表赋值给数组
  • 列表可以连接两个数组
  • 使用qw列表,可以省略 “” 和 ,
my @giant = 1..1000;              #包含1000个元素的列表
my @merge = (@giant, @giant);       #连接两个数组
my $name = "perl";
my @merge1 = (@giant, $name, "perl", @giant)  #可混搭
my @tiny = ()                                 #空列表
my @rocks = qw(bedrock slate lava) #可以省略逗号和引号

数组操作

  • 打印数组
    print @rocks; 打印时不会在数组的元素间加空格
    print "@rocks\n"; 打印时会在数组的元素间加空格,即perl支持字符串中数组内插
  • 连接数组
    my @merge = (@giant, @giant);
为数组元素添加指定分隔符 join
my @rocks = qw(bedrock slate lava)
my $join_string = join("\t", @rocks);
print "join: $join_string\n";   #join: bedrock	slate	lava
print join("-", @rocks)."\n";  #bedrock-slate-lava
访问或获取数组的元素
  • 索引法 (索引从0开始)
  • 取出一个元素:$array[0] 标量
  • 特殊变量:$#array 数组最后一个元素的索引值
  • 最后一个元素:$array[$#array]
  • 取出多个元素 :@array[0..2] 数组
my @names = (0..10);
print "@names[2..5]"; #2 3 4 5
print "@names[(2,4,6)]\n"; #2 4 6
print "@names[2,4,6]\n"; #2 4 6
数组结尾添加和减少元素

添加元素push
取出元素pop,取出结尾的元素后原数组会少一个元素

my @names = (0..10);

pop(@names); #直接扔掉最后一个元素
pop @names; #省略括号效果同上
my $last = pop(@names);
print "\$last is $last\n";  #8

push(@names, 100); #在数组后追加100
push @names, 100;  #效果同上
push @names, 1..3; #可以追加列表
my @num = 1..5;
push @names, @num; #可以追加数组,即实现数组合并
数组开头添加和减少元素

添加元素unshift
取出元素shift

my @names = (0..10);

shift @names; #去掉0
my @num = 1..5;
unshift @names, @num; #可以在开头添加数组,即实现数组合并

批量获得数组的值
  • for方法依次获取数组的元素
my @names = (0..10);

for(my $i = 0; $i < @names; $i ++){
	print "$i : $names[$i]\n";
}
my @names = (0..10);

#按数组元素顺序直接循环数组本身
for my $value(@names){
	print "value : $value\n";
}
#元素为数字时的循环方法
for my $i(0..$#names){
	print "value: $names[$i]\n";
}
#同时输出索引
my $i=0;
for my $value(@names){
	$i++;
	print"$i: $value\n";
}
数组排序方法sort

排序特殊变量$a, $b
按字符排序,用cmp

my @languages = qw(perl python r java);
my @languages_sorted = sort {$a cmp $b} @languages;
print "@languages_sorted\n";

按数值排序用<=>

my @names = (3,7,32,1,5,16);
my @names_sorted = sort {$a <=> $b} @names;
print "@names_sorted\n";

如果数组中即有字符串又有数字,用cmp
倒序:sort {$b cmp $a} @languages

标量上下文和列表上下文 context

perl最独特的特性就在于,它的代码对于上下文是敏感的。
每个表达式要么在scalar上下文中求值,要么在列表上下文求值

my $scalar = "mendeleev";     #赋值,标量上下文
my @array = ("alpha","bata","gamma","pie");   #列表上下文
my ($perl,$python,$R) = ("perl","python","R");   #列表上下文

my $perl = ("perl","python","R");   #标量上下文,将列表的长度赋值给标量
print "$perl\n";   #3
my ($perl) = ("perl","python","R");   #列表上下文
print "$perl\n";   #perl     #把第一个元素赋值给标量

列表上下文用于数组赋值/标量批量赋值
强制标量上下文获得数组长度

@name = qw(perl R python shell);
print @name,"/n";       #perlRpythonshell
print scalar @name,"/n";    #3 强制标量上下文

获得字符串和数组长度

my @names = (0..10);
my $num = @names;
print "$num\n";

my $name = "perl";
print length($name)."\n";

哈希变量HASH

数组:索引-值,有顺序
哈希:键keys-值values(键不能重复,值可以重复),没有顺序

哈希创建 %
my %last_name = ("zhangsan"=>"zhang", "lisi"=>"li", "wangwu"=>"wang");
my %last_name = (
	"zhangsan"=>"zhang", 
	"lisi"=>"li", 
	"wangwu"=>"wang"
);
my %last_name = ();  #空哈希
访问哈希的值

$last_name{"zhangsan"};
注意:$ {}
访问数组的值:$array[0]/@array[0…3]

向哈希中添加值

$last_name{"zhaosi"} = "zhao";
如果键出现重复,将覆盖该键原来的值

从哈希中删除元素

delete $last_name{"zhaosi"};

查看哈希中值是否存在exist
if (exist $last_name{"zhaosi"}){
	print "value existed: \$last_name{"zhaosi"};
}else{
	print "value not existed: \$last_name{"zhaosi"};
}

为何要用exist判断?
用exist判断,防止代码终止。

哈希函数应用

keys获取哈希所有的键
values获取哈希所有的值
返回列表,注意没有顺序

my %last_name = ("zhangsan"=>"zhang", "lisi"=>"li", "wangwu"=>"wang");
my @my_key = keys%last_name;
my @my_value = values%last_name;
循环哈希的键值对

while获取哈希的键值对

my %last_name = ("zhangsan"=>"zhang", "lisi"=>"li", "wangwu"=>"wang");
while(($k,$v)=each %last_name){
	print "$k => $v \n";
}

foreach获取哈希的键值对

my %last_name = ("zhangsan"=>"zhang", "lisi"=>"li", "wangwu"=>"wang");
for my $k ( keys %last_name){
	my $v = $last_name{$k}
	print "$k => $v \n";
	print "another: $k => $last_name{$k}\n";
}

循环键值对并排序

my %last_name = ("zhangsan"=>"zhang", "lisi"=>"li", "wangwu"=>"wang");
for my $k ( sort {$a cmp $b} keys %last_name){ 
	print "another: $k => $last_name{$k}\n";
}
#{$a cmp $b} 可省略

Perl读取输出文件

读取文件,输出文件open

注意:open打开的是文本文件,或记事本可以打开的文件

open (IN, "<D:/exp.txt") || die "can not open file : D:\\exp.txt";    
# open(文件句柄,文件路径) 
# 注意:如果用反斜杠需要转义,文件路径的<可以省略
open (OUT, ">D:/out.txt") || die "can not file : D:\\out.txt";
# >>追加内容,>覆盖原内容/新建文件

my$line1=<IN>;  #<IN>只读一行,字符串
print OUT $line1 . "\n";

my@lines=<IN>; #列表上下文,每一行为列表的一个元素
print OUT "@lines" ;
#通常不会这么做,占内存

#循环读入数据
while(my $line = <IN>){	
	print OUT $line;
}
close(IN);
close(OUT);
perl特殊变量

perl特殊变量$!:用于存储错误信息
open (IN, "<D:/exp.txt") || die "can not open file $!";

perl特殊变量$_:老地方,在不声明的时候使用的默认变量

open (IN, "<D:/exp.txt") || die "can not open file : D:\\exp.txt";    
open (OUT, ">D:/out.txt") || die "can not file : D:\\out.txt";

#循环读入数据
while(my $line = <IN>){	
	print OUT $line;
}

#循环读入数据,效果同上
while( <IN>){	
	print OUT "$_";
}
close(IN);
close(OUT);

Perl 正则表达式

正则表达式规则

主要应用
  • 查找/匹配 m//(可以简写为//,省略m)
  • 转换 tr///
  • 替换 s///
  • 捕获 ()
    可套用(()()),按照左括号(出现的顺序赋值到变量
    (.*) capture all
  • 计数 捕获全部->标量上下文
#查找匹配
my $bar = "I am a robot. Welcome to robot site.";
if ($bar = ~m/robot/){
	print "matched robot\n";
}else{
	print "did not match robot\n";
}

#转换
#生成DNA序列的反向互补序列
my $DNA = "ATTGGCCAT";
$DNA = ~tr/ATCG/TAGC/;
$DNA = ~tr/A-Z/a-z/;  #大小写转换
$DNA = reverse($DNA); #反向
print $DNA."\n";

#替换
my $z = "I am a robot\n Welcome to Robot site\n robot";
$z = ~s/robot/AAA/; #只对第一个robot进行替换
$z = ~s/robot/AAA/gi; #修饰符g替换全局robot,i忽略大小写
$z = ~s/robot$/AAA/gi;
#铆定行尾,一个字符串行尾只有一个,I am a robot\n Welcome to Robot site\n AAA
$z = ~s/robot$/AAA/gim;
#修饰符m多行模式,可以有多个行尾,I am a AAA\n Welcome to Robot site\n AAA

#捕获
my $f = "0/1:20,6:26:99	0/0:20,5:25:99";
$f = ~/([01]\/[01])/;   #捕获第一个0/1
my $value = $1;
print $value."\n";

#捕获全部0/1,0/0
my $f = "0/1:20,6:26:99	0/0:20,5:25:99";
@gene = ($f = ~/([01]\/[01])/g);   #列表上下文
print "@gene\n";

#捕获+计数
my $f = "0/1:20,6:26:99	0/0:20,5:25:99";
$num = () = $f = ~/([01]\/[01])/g;   #标量上下文
print "$num\n";

#捕获+替换
my $f = "0/1:20,6:26:99	0/1:20,5:25:99";
$f = ~s/([01])\/([01])/$2\/$1/g;   #将所有0/1替换成1/0
print $f."\n";

my $DNA = "AATAAT	AAGCCG";
$DNA = ~s/AA(.)(.)\2\1/GGGG/g; 
#在第一组反斜杠内调用捕获内容可以直接用\1
print $DNA."\n";

引用用法

实现复杂数据的读取和存储

查看引用类型

ref($refname)

字符串引用
#引用
$value = "ATCG";
$valueRef = \$value;
#去引用
$deref = ${$valueRef};
print "$value\n$valueRef\n$deref\n";

#匿名引用
$valueRef = \"ATCG";
print "$valueRef\n${$valueRef}\n";
数组引用
#引用
@seq = qw(ATCG GCTA AAGG);
$arrayRef = \@seq;
#去引用
@deref = @{$arrayRef};
print "$arrayRef\n@deref\n";

#取出数组元素
print $arrayRef->[0], $arrayRef->[1], $arrayRef->[2]."\n";

#匿名引用
$seq = ["ATTTAC", "AACCGG","GGCCTT"]; #注意是[]不是()
print $seq->[0], $seq->[1], $seq->[2]."\n";

#多维数组
$seqs = [["ATTTAC", "AACCGG","GGCCTT"],["ATTTAC", "AACCGG","GGCCTT"],["ATTTAC", "AACCGG","GGCCTT"]];
print $seqs."\n";
print $seqs->[0], $seqs->[1], $seqs->[2]."\n";
print $seqs->[0][1], $seqs->[1]->[0], $seqs->[2]."\n";
哈希引用
#引用
use Data::Dumper;
my %hash = ("k1"=>"abc1","k2"=>"abc2","k3"=>"abc3");
my $refhash = \%hash;
#去引用
my %deref = %{$refhash};
print $refhash."\n";
print Dumper (\%deref)."\n";  #打印哈希

#取出键值对,两种方法
for my $k(keys %{$refhash}){
	print "key: $k\t$$refhash{$k}\n";
}
for my $k(keys %$refhash){
	#去引用时,{}可以省略
	print "key: $k\t$refhash->{$k}\n";
}

#匿名引用
my $refhash1 = {"k1"=>"abc1","k2"=>"abc2","k3"=>"abc3"}; #注意{}
print $refhash1."\n";

Perl语言入门到精通学习路线 详细视频教程可参考: https://pan.baidu.com/s/1nDn-6IvbnQTIaDOLfuxDpQ?pwd=naak 话不多说,上硬货! Perl是一门很有用的语言,可以用它来做很多事。然而,它也仅是一门语言,掌握了Perl,你只是掌握了Computer领域的一小块知识。在学习Perl前,请明确你的学习目的,并采用正确的学习方法和资源。 (一)学习目的 关于学习Perl (本人也是刚开始学Perl,在网上也找了资料,感觉关于Perl资料很少。在The Perl Programm. 阅读详情

相关推荐

Perl语言入门学习

Perl语言的学习不仅仅是掌握一门语言的语法,更多的是学会如何使用这门语言解决实际问题。同时,要注意避免Perl语言的一些缺点,比如代码的可读性和性能问题,通过良好的编码习惯和对use strict和use warnings的使用来提升代码质量。Perl的设计理念是“让常见任务简单,让困难任务可能”,因此它拥有丰富的文本处理功能和强大的正则表达式支持。Perl是一种高级的、通用的、解释型的编程语言,最初设计用于文本处理,但随着时间的推移,它的用途已经扩展到许多其他领域。

数字人生 2322

Perl:从小白到大神,最全指南

有时候,我们需要在代码中复用一些通用的功能性代码,而不是在每个脚本中反复编写相同的代码。为了实现这一目的,我们可以创建一个自定义的Perl模块。创建自定义模块有两个步骤:编写��块文件和使用模块。编写自定义模块自定义模块可以使用 Perl 语言来编写,它们的文件名一般以.pm结尾。use strict;\n";1;上述示例代码中定义了一个名为My::Module的模块,其中包含一个名为hello的子程序。程序中��最后一行1;是必须的,表示这个模块加载正确。使用自定义模块。

qq_42538588的博客 6652

1、Perl编程入门

本博文介绍了Perl编程的基础知识,包括编程语言概述、第一个Perl程序的编写与运行、Perl程序的基本结构、字符集与转义序列等内容。同时,还深入探讨了空白字符的作用、数制表示、调试器的使用、环境变量和文件操作等实用技巧,并通过练习题巩固所学内容。最后,讲解了控制流构造和列表与数组的操作方法,帮助读者快速掌握Perl编程的核心概念。

potato的博客 531

perl ->

-> 有两种用法,都和解引用有关。第一种用法,就是解引用。根据 -> 后面跟的符号的不同,解不同类型的引用,->[] 表示解数组引用,->{} 表示解散列引用,->() 表示解子程序引用。例子:$a...

cuichanmai5324的博客 1475

STK之Commu模块之三仿真卫星通信链路参数计算

考虑上述衰减的影响,可以得到卫星接收机输入端的载波功 [C] = [PT] +[GT] +[GR] -[L] -[L1] -[L2] (

juanhuokang2681的博客 8267

uniapp - 实现手机端H5网页直播功能效果,拿到后端推流地址或播放资源后进行前端的流畅播放和画面展示功能,uniapp实时推流/拉流直播系统详细教程(提供完整示例代码,一键复制开箱即用!)

uniapp,h5网页,手机端H5网页,uniapp h5直播功能页面,uniapp直播实时推送显示,uniapp h5直播怎么做,怎么使用uniapp去实现移动端手机H5直播,h5 vue+uniapp怎么做直播,uniapp中使用videojs构建H5直播播放器,uniappH5端怎么实现直播推流,uniapp如何实现直播,直播聊天功能,h5平台端直播用什么插件,uniapp手机网页直播用什么组件插件播放器,uniapp手机H5直播播放器详细教程,直播项目,怎么使用vue+uniapp怎么做H5实时直播

✅ 精选推荐文章 8792

Perl入门学习(一)运行和基本语法

perl程序的运行方法

m0_61544122的博客 1万+

Win10 开机突然蓝屏错误代码0xc0000001安全模式也进不了,不用重装系统怎么修复?(已解决)九个解决参考方案

Win 10专业版HP480G7。

本博客,博文仅代表个人操作经验,不能完全解决你的问题,仅供参考,佛系回复。 1万+

perl 中的 <>

perl的命令行参数保存在

shangguanzhe的专栏 3295

k230 +canMV+ LVGL控件 仿手表表盘触摸屏滚动、选中后弹窗效果完整示例程序

现在智能手表用的越来越多,其交互方式比较有特点,现在k230开发板上,基于LVGL(Light and Versatile Graphics Library)编写一个嵌入式GUI应用程序,使用LVGL配合触摸屏实现模仿智能手表的表盘滚动效果,实际效果如下:程序使用LVGL图形库和MediaManager程序,创建带有触摸屏交互的GUI应用。程序主要功能包括显示初始化、LVGL初始化、创建GUI界面(包含一个可滚动的按钮列表,每个按钮点击会弹出消息框),以及处理触摸屏输入。

weixin_47446386的博客 1175

基于Simulink的雷达跟踪系统仿真(附源码)

此示例包含对雷达系统的基本特征进行建模的子系统。该模型是用于目标位置和速度检测的雷达系统的典型模型。该示例包括雷达脉冲发生器、射频发射器子系统、移动目标的 Simulink 表示、射频接收器和接收模块(Rx 模块)。

珞瑜的博客 3515

perl入门

学习了perl大概有3个月了,从开始的懵懂,到现在的逐渐清晰,少不了经典书籍的帮助。当然Google大神是必需的。 下面是几本比较好的书,大部分我都做了书签。做书签应该说是一个好习惯。(最近舍弃了金山快盘,因为它要登录才能下载!而百度网盘不用。) http://pan.baidu.com/share/link?shareid=106510&uk=3190391850         一开始看

IFEIXIANG 433

(SEED-Lab)Buffer Overflow Vulnerability Lab缓冲区溢出实验

(SEED-Lab)Buffer Overflow Vulnerability Lab 欢迎大家访问我的GitHub博客 https://lunan0320.cn 文章目录一、实验目的二、实验步骤与结果2.1 环境初始化2.2 Task1 运行shellcode2.3漏洞程序2.4 Task 22.5 Task 3: ASLR2.6 Task 4: Stack Guard2.7 Task 5:不可执行栈三、参考文献 一、实验目的 理解缓冲区溢出攻击的原理以及如何实施攻击 理解针对缓冲区溢出的防御措施

lunan的博客 8981

神奇的perl-最佳PERL入门教程

神奇的perl-最佳PERL入门教程 神奇的perl-最佳PERL入门教程 目录 ................................................................................................................................................................

深未来技术 461

Qwen2.5-VL多模态微调超参数深度解析(上):训练流程与优化策略的量化机制分析

上篇文章通过系统化的对比实验,回答了多模态微调中的三个基础问题:“选什么方法”(LoRA/Full/Freeze/OFT对比)、“用什么配置”(60+组超参数组合)、“达到什么效果”(ROUGE-L/BLEU-4指标)。这些结果为后续工作奠定了实验基线,但也留下了更深层的疑问:为何相同方法在不同数据集上表现迥异?为何某些超参数的微小调整会引发性能剧变?如何在未见过的任务上快速找到最优配置?本文是对前文实验数据的二次挖掘与机理解析。我们将关注点从"做了什么实验"转移到"实验揭示了什么规律",实验视角从"结果对

羊城迷鹿的博客 1005

4、基于STM32 NUCLEO - F030R8开发板的嵌入式编程入门

本文详细介绍了如何在STM32 NUCLEO-F030R8开发板上实现LED闪烁功能,作为嵌入式编程的入门实践。内容涵盖开发板组成、跳线设置、项目创建、代码编写与解析、编译运行步骤,以及常见问题解决方法和拓展应用。通过本文学,习者可以掌握嵌入式开发的基本流程,并为后续深入学习打下基础。

m9n0o的博客 83

Perl语言入门_第五版.pdf资源介绍:Perl编程入门经典教材,助你快速掌握Perl语言

Perl语言入门_第五版.pdf资源介绍:Perl编程入门经典教材,助你快速掌握Perl语言 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 《Perl语言入门_第五版.pdf》是一本备受推崇的Perl编程语言入门书籍,被广泛称为“小骆驼书”。自1993年首次出版以来,该书以其权威性和实用价值,成为Perl学习者的首选教材。第五版针对Perl 5.10的最新特性进行了全...

gitblog_06706的博客 451

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

神奇的Perl-最佳Perl入门读物

<br />神奇的Perl-最佳Perl入门读物<br />http://deepfuture.javaeye.com/blog/723907

深未来技术 617

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Perl 语言入门学习

Perl 语言学习 – 入门篇 入门篇包括但不限于以下内容 Perl 简介 版本历史 第一个Perl程序 Perl的基本数据类型 Perl的运算操作符和判断操作符 Perl的数组操作 Perl的控制结构语句 Perl的子程序 注:尽管本文中没有提及逻辑控制符,但Perl的逻辑控制符与C 或者 JAVA 的逻辑控制符号 基本一致, 都支持与或非的操作 也就是 ! | & 这几个符号,使用上也没有太大差异。因而本文中就此略过,如有需要请自行查阅相关文档 文章目录Perl 语言学习 -- 入门篇1

weixin_43740223的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Perl入门(一)Perl的基本类型及运算符

在学习Perl的基础之前,还是希望大家有空去看以下Perl的简介

成功不必在我,然功力必不唐娟 1万+

《Perl语言入门》学习笔记

前言 Perl Perl系列文章 两个半小时学会Perl Perl 教程 第1章 简介 《Perl语言入门·第七版》 https://www.learning-perl.com/可以下载源代码 https://www.cpan.org/是Perl综合典藏网,包含很多基于Perl的内容,如源代码、安装程序、示例文件 第2章 标量数据 scalar(标量) 标量数据:表示数据的内容,就是值; 标量变量:表示存储标量数据的容器; 数字 前置零的写法只用于表示数字直接量,不能用于字符串和数字间的自动转换。

杰之行的博客 4124

Perl 入门

《Perl 语言入门》 O'REILLY 出版 目标128行以内的小程序,大约90%的Perl程序都不需要很多篇幅 《羊驼书》 Alpaca book

flameleo11的专栏 338

Perl语言入门(第四版)

附件是Perl语言入门(第四版),俗称小骆驼书。

hu_bj的专栏 486

Perl语言入门(第四版)

Perl语言入门(第四版)文档,Perl入门必备的。感谢作者的辛苦翻译劳作!

钰琳仙境 202
上一篇: 生信网站整理
下一篇: eclipse生信编程环境搭建
ruby912
博客等级 码龄9年 83粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值