Perl

Hire the Top 3% of 自由Perl开发人员

Toptal是一个面向顶级Perl开发人员的市场, engineers, programmers, coders, architects, and consultants. 顶级公司和初创公司选择Toptal Perl自由职业者用于他们的关键任务软件项目.

无风险试用,满意才付款.

Clients Rate Perl开发人员总数4.6 / 5.0截至2023年12月17日,平均有45条评论

雇佣自由Perl开发人员和工程师

Robert A Kinyon

自由Perl开发人员

United StatesToptal Member Since April 15, 2019

罗伯特在IT行业工作了20多年, 几乎担任IT领域的所有职位——从开发到QA再到DBA,现在是开发人员. Through every project, 统一的思路总是通过发现和消除关键的摩擦点,使他周围的人的效率提高10倍.

Show More

Matt Wilson

自由Perl开发人员

United KingdomToptal Member Since December 1, 2021

马特是一个软件开发人员, entrepreneur, 资深的问题解决者,拥有丰富的技术策略定义经验, building teams, 发展基础设施, complex applications, 在大型系统的整个生命周期中提供可扩展的解决方案. Matt设计并建立了一个摄影驱动的一流市场研究和调查平台,以彻底改变体育摄影行业. 他的职位包括首席技术官、联合创始人和首席工程师.

Show More

Julie Wetherbee

自由Perl开发人员

United StatesToptal Member Since August 21, 2015

Julie在为各种规模的企业构建软件应用程序和领导工程团队方面拥有超过20年的经验. 她是Java方面的专家, JavaScript, C, C++, and Perl, 并且熟悉许多流行的框架. 最近,Julie为沃尔玛设计并实现了一个大规模的Oracle数据库分片解决方案.com.

Show More

Jan Kratochvíl

自由Perl开发人员

Czech RepublicToptal Member Since September 9, 2021

Jan是一名拥有20多年经验的后端开发人员, 专攻c++ 11(及更高版本)的服务器端代码,之前曾构建c++调试器和Linux开发工具. 他是DWARF调试格式方面的专家,一直在修复大型代码库,如LLDB和GDB调试器. Jan's experience spans Interactive Brokers C++ API; disassembling and reverse engineering; and troubleshooting, programming, 配置网络, embedded devices, Linux servers, RHEL, CentOS, and Fedora.

Show More

Maxime Niankouri

自由Perl开发人员

FranceToptal Member Since October 19, 2020

Maxime是一位专注于软件的多价工程师,对电气设计有深入的了解. 他在半导体行业的专业知识帮助德州仪器和英飞凌提供了高度优化的产品和流程, 包括在定制的EDA环境中集成机器学习. 玛克辛以开发巧妙的自动化流程而闻名, 战略性地修改方法, 而且还能很快地帮助同事.

Show More

Piotr Poznanski

自由Perl开发人员

PolandToptal Member Since August 2, 2021

Piotr是一位软件开发人员, architect, 在欧洲核子研究中心有15年以上的工作经验, Motorola Solutions, universities, and more. He has led projects, 担任过scrum主管, 开发和交付复杂的网络和移动解决方案, 包括业务和技术需求, architecture, 第三方API集成, data acquisition, and processing for BI. Piotr参与开发了pan配置语言,并拥有计算机科学博士学位.

Show More

Mikhail Fishzon

自由Perl开发人员

United StatesToptal Member Since June 22, 2022

米哈伊尔是谷歌和Lyft的校友,也是一名数据工程师,喜欢将现实生活中的商业问题转化为可扩展的数据平台. 在过去的二十年里, 他帮助公司进行架构设计, build, 维护性能优化的数据库和数据管道. Mikhail精通数据库优化技术,他已经将慢速运行的查询性能提高了99%.

Show More

Ricardo Basto

自由Perl开发人员

GermanyToptal Member Since May 7, 2019

里卡多已经编码20多年了, 参与过10多种编程语言的项目. 他与他人共同创立了公司, 在几家成功的初创公司担任首席技术官, 管理由开发人员和产品设计师组成的分布式团队. Ricardo最近的工作范围从数据科学和机器学习到高性能的网络和移动应用程序, 包括Web3和加密.

Show More

Valeriy Pogrebitskiy

自由Perl开发人员

United StatesToptal Member Since July 16, 2020

valery是一名拥有20多年高质量交付经验的软件工程师, high-performance, 以及可扩展的后端和服务器端产品. 他是一个动手的开发人员和团队领导,在各种技术方面经验丰富,并且是Python和Perl方面的专家,具有很强的自动化能力, embedded software, 还有金融经验. 瓦莱丽拥有两个硕士学位, is PMP certified, 有敏捷和瀑布的经验吗, and is skilled in TDD, unit testing, 以及集成测试.

Show More

Vitaly Dyatlov

自由Perl开发人员

NetherlandsToptal Member Since August 31, 2013

Vitaly是一名专业的web开发人员,拥有超过14年的分布式经验, high-loaded systems. 他可以对系统架构提出建议, scaling, 以及如何提高吞吐量和减少延迟的方法. Vitaly是一名多语言专家,拥有Java, PHP, Perl, Node的实践经验.js、Ruby、JavaScript和Go.

Show More

Mustafa Kubilay Yalniz

自由Perl开发人员

TurkeyToptal Member Since April 3, 2019

Mustafa在Linux平台上部署系统和软件方面拥有20多年的经验. 作为系统和软件工程师,他拥有丰富的脚本/编码经验. 他在DevOps、SaaSOps和Linux系统工程方面拥有扎实的技能.

Show More

现在注册以查看更多资料.

Start Hiring

A Hiring Guide

雇用优秀Perl开发人员指南

Perl, 现代动态语言久经考验的真正前身, 它仍然是最好的文本处理语言之一,并且仍然是许多企业应用程序的首选语言. 帮助您找到真正理解这种曾经具有革命性的语言的开发人员, 遵循本招聘指南,了解Perl专家应该熟悉的主题和问题.

Read Hiring Guide
Trustpilot
THE TOPTAL ADVANTAGE

在无风险试用后,98%的Toptal客户选择雇用我们的人才.

Toptal的筛选和匹配过程确保卓越的人才与您的精确需求相匹配.

Start Hiring
Toptal in the press

... 允许公司快速组建具有特定项目所需技能的团队.

尽管对程序员的需求在不断增加,但Toptal对自己近乎常春藤联盟级别的审查感到自豪.

Our clients
为游戏制作应用程序
Conor Kenney
为游戏制作应用程序
构建一个跨平台的应用程序,在全球范围内使用
Thierry Jakicevic
构建一个跨平台的应用程序,在全球范围内使用
引领数字化转型
Elmar Platzer
引领数字化转型
挖掘实时数据将改变行业的游戏规则
挖掘实时数据将改变行业的游戏规则
Testimonials

没有Toptal就不会有Tripcents. Toptal Projects使我们能够与产品经理一起快速发展我们的基金会, lead developer, and senior designer. 在60多天的时间里,我们从概念到Alpha. 其速度、知识、专业知识和灵活性是首屈一指的. Toptal团队是tripcents的一部分,就像tripcents的任何内部团队成员一样. 他们像其他人一样贡献并拥有开发的所有权. 我们将继续使用Toptal. 作为一家初创公司,它们是我们的秘密武器.

Brantley Pace, CEO & Co-Founder

Tripcents

我对我们与Toptal的合作经验非常满意. 和我一起工作的专业人员在几个小时内就和我通了电话. 在和他讨论了我的项目后,我知道他就是我想要的候选人. 我立即雇用了他,他没有浪费时间就完成了我的项目, 甚至通过添加一些很棒的设计元素来增加我们的整体外观.

Paul Fenley, Director

K Dunn & Associates

与我合作的开发者都非常出色——聪明、有动力、反应灵敏. 过去很难找到高质量的工程师和顾问. Now it isn't.

Ryan Rockefeller, CEO

Radeeus

Toptal立即理解了我们的项目需求. 我们遇到了一位来自阿根廷的杰出自由职业者, from Day 1, 沉浸在我们的行业中, 与我们的团队无缝融合, understood our vision, 并产生了一流的结果. Toptal使与高级开发人员和程序员的联系变得非常容易.

Jason Kulik,联合创始人

ProHatch

作为一家资源有限的小公司,我们不能犯代价高昂的错误. Toptal为我们提供了一位经验丰富的程序员,他能够立即投入工作并开始做出贡献. 这是一次很棒的经历,我们会马上再来一次.

斯图尔特·波克尼校长

现场专用软件解决方案

我们使用Toptal聘请了一位具有丰富的Amazon Web Services经验的开发人员. 我们面试了四位候选人,其中一位非常符合我们的要求. 这个过程迅速而有效.

Abner Guzmán Rivera,首席技术官和首席科学家

Photo Kharma

Sergio是一个很棒的开发者. 一流,反应迅速,工作效率高.

Dennis Baldwin,首席技术专家和联合创始人

PriceBlink

和Marcin一起工作是一种乐趣. He is competent, professional, flexible, 并且非常迅速地理解需要什么以及如何实现它.

André Fischer, CTO

POSTIFY

我们需要一位能立即开始我们项目的专业工程师. 西马纳斯的工作超出了我们的预期. 不需要采访和追踪专家开发人员是一种非常节省时间的方法,并且让每个人都对我们选择切换平台以使用更健壮的语言感到更舒服. Toptal使这一过程变得简单方便. Toptal现在是我们寻求专家级帮助的首选之地.

Derek Minor, Web开发高级副总裁

Networld Media Group

Toptal的开发人员和架构师都非常专业,也很容易共事. 他们提供的解决方案价格合理,质量上乘,缩短了我们的发行时间. Thanks again, Toptal.

Jeremy Wessels, CEO

Kognosi

我们与Toptal合作非常愉快. 他们为我们的应用程序找到了完美的开发人员,让整个过程变得非常简单. 它也很容易超出最初的时间框架, 我们可以在整个项目中保持同一个承包商. 我们强烈推荐Toptal,因为它可以快速无缝地找到高素质的人才.

Ryan Morrissey, CTO

应用商业技术有限责任公司

我对Toptal印象深刻. 我们的开发人员每天都和我交流,他是一个非常强大的程序员. 他是一个真正的专业人士,他的工作非常出色. 5 stars for Toptal.

Pietro Casoar, CEO

Ronin Play Pty Ltd

与Toptal合作是一次很棒的经历. Prior to using them, 我花了相当多的时间面试其他自由职业者,但没有找到我需要的. 在与Toptal合作后,他们在几天内就为我找到了合适的开发者. 与我一起工作的开发人员不仅提供高质量的代码, 但他也提出了一些我没有想到的建议. 我很清楚,阿莫里知道自己在做什么. Highly recommended!

George Cheng, CEO

Bulavard, Inc.

作为一名Toptal合格的前端开发人员,我还经营着自己的咨询业务. 当客户来找我帮忙填补他们团队中的关键角色时, Toptal是我唯一愿意推荐的地方. Toptal的所有候选人都是精英中的精英. Toptal是我在近5年的专业在线工作中发现的性价比最高的网站.

Ethan Brooks, CTO

Langlotz Patent & Trademark Works, Inc.

在希格尔的早期, 我们需要一流的开发者, at affordable rates, in a timely fashion. Toptal delivered!

Lara Aldag, CEO

Higgle

Toptal能让你轻松找到合适的人选,让你放心,因为他们有能力. 我肯定会向任何寻找高技能开发人员的人推荐他们的服务.

Michael Gluckman,数据经理

Mxit

Toptal将我们的项目与最优秀的开发人员快速匹配的能力非常出色. 开发人员已经成为我们团队的一部分, 我对他们每个人所表现出的敬业精神感到惊讶. 对于那些希望与最好的工程师远程工作的人来说,没有比Toptal更好的了.

Laurent Alis, Founder

Livepress

Toptal让寻找合格的工程师变得轻而易举. 我们需要一个有经验的ASP.. NET MVC架构来指导我们的启动应用程序的开发, Toptal在不到一周的时间里为我们找到了三位优秀的候选人. 在做出我们的选择后,工程师立即在线并开始工作. 这比我们自己发现和审查候选人要快得多,也容易得多.

Jeff Kelly,联合创始人

Concerted Solutions

我们需要一些Scala的短期工作,Toptal在24小时内为我们找到了一位优秀的开发人员. 这在其他平台上是不可能实现的.

Franco Arda,联合创始人

WhatAdsWork.com

Toptal为快速发展和规模化的企业提供不妥协的解决方案. 我们通过Toptal签约的每一位工程师都迅速融入了我们的团队,并在保持惊人的开发速度的同时,将他们的工作保持在最高的质量标准.

Greg Kimball,联合创始人

nifti.com

如何通过Toptal雇佣Perl开发人员

1

与我们的行业专家交谈

Toptal的工程总监将与您一起了解您的目标, technical needs, and team dynamics.
2

与精心挑选的人才一起工作

几天之内,我们将为您的项目介绍合适的Perl开发人员. 平均匹配时间在24小时以下.
3

绝对合适

与新的Perl开发人员一起试用一段时间(只在满意的情况下付费), 在订婚前确保他们是合适的人选.

寻找拥有相关技能的专家

在我们的人才网络中访问大量熟练的开发人员,并在48小时内雇用最优秀的3%.

FAQs

  • Toptal Perl开发人员有何不同?

    At Toptal, 我们对Perl开发人员进行了彻底的筛选,以确保我们只为您匹配最优秀的人才. Of the more than 200,每年有5000人申请加入Toptal网络, 只有不到3%的人能达标. 你将与工程专家(而不是一般的招聘人员或人力资源代表)一起了解你的目标, technical needs, and team dynamics. 最终的结果是:经过专家审查的人才从我们的网络,定制匹配,以满足您的业务需求.

  • 我可以在48小时内通过Toptal雇佣Perl开发人员吗?

    取决于可用性和进度, 您可以在注册后48小时内开始与Perl开发人员一起工作.

  • Toptal Perl开发人员的无风险试用期是什么?

    我们确保您和您的Perl开发人员之间的每次约定都从长达两周的试用期开始. 这意味着你有时间确认订婚是否成功. 如果你对结果完全满意, 我们会给你开时间单的,你愿意多久我们就多久. 如果您不完全满意,我们不会向您收费. From there, 我们要么分道扬镳, 或者我们可以为您提供另一位可能更合适的专家,我们将与他开始第二轮谈判, no-risk trial.

Share
Perl

如何聘请优秀的Perl开发人员

虽然Perl可能不像以前那么流行了, 许多动态语言和网络技术,比如JavaScript, PHP, Python, 和ruby——都受到了Perl的影响. 您仍然可以看到30年前在Perl中做出的设计决策在今天的这些语言中仍然存在.

最初由创作者拉里·沃尔在20世纪80年代末发布, Perl在正确的时间出现在正确的地方,并迅速成为internet开发中的主要参与者. 作为最早的动态类型语言之一, 它为开发人员提供了快速完成以前无法完成的任务的工具. 他们不再需要预先分配内存或跟踪变量存储的数据类型.

Perl仍然是使用正则表达式进行文本处理的最佳编程语言之一, 这使得它非常容易用于处理文件输入和输出. Perl也常用于系统管理, web services, 数据库设计采用MySQL和Oracle数据库, 开源和shell脚本项目. 许多开发人员选择Perl而不是ASP.NET,因为它有很多库,它是开源的,功能强大. Also, Perl爱好者使用它而不是Bash和Unix Shell, 因为你既可以编写短程序,也可以编写大型分布式应用程序, 而在BASH或其他Unix shell中编写大型应用程序是相当困难的.

如果您正在寻找Perl开发人员, 这可能是因为您有一个遗留的Perl应用程序,或者您希望利用其正则表达式引擎的强大功能. 本招聘指南涵盖了基本的, 每个Perl程序员都应该彻底了解的关键方面.

References

As mentioned before, Perl编程带来了编程的重大转变,预示着从静态类型语言到动态类型语言的演变. 它带来的另一个变化是引用的使用方式. 指针的概念, 在C和c++等前身语言中很常见, 是否让许多开发者感到困惑, 所以Perl去掉了指针,引入了引用, 哪一个简化了开发人员的内存管理.

引用在Perl代码中被频繁而广泛地使用. 对于Perl web开发人员来说,理解它们非常重要, 因为元素访问的语法会根据是引用还是直接访问而变化.

问:在Perl中,如何初始化以下内容?

  • an array

  • an array reference

  • A hash

  • A hash reference

Furthermore, 如何将数组更改为数组引用, 一个散列到一个散列引用, and vice versa? 如何从这些变量中访问元素?

答:对于任何有经验的Perl开发人员来说,使用散列和数组引用都是一个非常基本的概念, 但是它可能会在语法上绊倒一些较新的Perl开发人员或从未真正掌握底层基础的开发人员.

Initializing an Array:

my @arr = (0, 1, 2);

初始化数组 @ 前缀在变量名前面的符号, which denotes the variable type as an array; its elements are placed in parentheses.

初始化数组引用:

$arr_ref = [0,1,2];

对于数组引用,使用 $ 符号,表示“标量”,元素放在方括号中. 引用没有指定为数组, just as a scalar, 因此,您必须小心地适当处理变量类型.

对于散列,语法是类似的.

Initializing a Hash:

my %hash = (0 => 'First', 1 => 'Second', 2 => 'Third');

Just as with an array, 散列的元素用圆括号定义, 但是由于变量是哈希值, it’s prefixed with a %.

初始化数组引用:

my $hash_ref = {0 => 'First', 1 => 'Second', 2 => 'Third'};

与数组引用一样,散列引用变量的前缀是 $,但是元素被放在花括号中.

引用散列或数组

引用数组或散列非常简单. 在Perl中,变量前面的反斜杠将返回对该变量的引用. 您应该期待类似以下的内容:

my $arr_ref = \@arr;

$hash_ref = \%哈希;

Dereferencing

解引用一个被引用的变量就像用适当的变量标识符重新赋值它一样简单. 例如,下面是你如何解引用数组和散列:

my @arr = @$arr_ref;

My %hash = %$hash_ref;

Accessing Elements

访问这些变量类型的元素和它们的参考版本之间的差异是业余开发人员可能会遇到的另一个问题.

#访问数组中的元素
我的$element = $arr[0];

注意,对于数组,您没有使用 @ prefix but rather the $ 表示标量,这是访问数组的任何元素时返回的类型. 访问数组引用、散列和散列引用的元素遵循类似的语法:

#访问数组引用中的元素
$element = ${$array_ref}[0];


#访问散列中的一个元素
$element = $hash{0};


#访问哈希引用中的一个元素
my $element = $hash_ref->{0};

Special Variables

Perl的独特之处在于它提供的特殊变量的数量. 虽然这可以使Perl代码非常简洁,但对新开发人员来说也相当晦涩. 而只有具有Perl专业知识的人才会知道大多数(或全部)特殊变量, 每个Perl开发人员都有一些关键的特性, 无论技能水平如何, 应该熟悉.

Q: Using $_口头解释以下示例代码片段的功能:

@new = map {$_ + 1} @values;

A: The map 函数将遍历数组中的每个元素 @values array and $_ 将被设置为每个迭代的元素. 这相当于以下更常见和详细的代码:

my @new = ();
foreach (@values) {
	push(@new, $_ + 1);
}

or

my @new = ();
Foreach $value (@values) {
	push(@new, $value + 1);
}

Q: Using @_在下面的例程中,解释的值 @_:

sub my_subroutine {}

A: @_ 将被设置为传递给子例程的任何参数.

因此,例如,如果子程序被调用如下:

my_suboutine (1, 'string', 2);

…then @_ 将是一个包含元素的数组 (1, 'string', 2).

Regular Expressions

Perl提供了一种强大而简单的方法来处理正则表达式. 即使开发人员不做文本处理, 毫无疑问,他们会在Perl中遇到正则表达式最适合的情况.

问:请详细解释以下代码的作用:

$str =~ s/-//g;

答:它会删除所有连字符(- 字符)从字符串.

这里有一个变量 $str 它包含一个字符串.

The =~ Perl操作符是用来执行正则表达式的吗.

The s 左边表示我们要做一个替换.

The slashes after the s 分别界定要匹配的正则表达式模式及其替换. 斜杠之后是任何可选的修饰符. 让我们一块一块地把它拆开:

In this example, - 匹配所有连字符.

第二组斜杠, //,为空,因此第一部分中匹配的连字符将被替换为空(i.e., deleted.)

The g is a modifier telling the regular expression engine to execute this globally on the string; without the g 修饰符,则只删除第一个连字符.

Q:编写一个脚本,将文件名列表作为命令行参数. 它的处理将获取这些错误日志文件,并计算在特定日期发生了多少错误.

对于以YYYY-MM-DD格式的时间戳开头的任何行, 增加当天的计数器并打印摘要, 按日期升序排列, like the following:

Example output:

2016-06-01: 3
2016-06-02: 4
2016-06-04: 1

没有出现在日志文件中的日期不需要出现在输出中.

答:一个简明的答案如下:

my %counts = ();
while (<>) {
	If (/^(\d{4}-\d{2}-\d{2})/) {
		$counts{$1}++;
	}
}

对于(sort {$a CMP $b}键%计数){
	打印“$_:$counts{$_}\n”;
}

菱形算子(<>)是Perl中特殊操作符的另一个例子. 它将循环通过 @ARGV array, 这些是传递给脚本的参数(在本例中是文件名), open the files, 把台词读一遍.

The if 语句包含一个正则表达式,该正则表达式隐式地检查 $_ 特殊变量和while循环集 $_ 在每一行中循环. In Perl, the $_ 通常可以推断,这是一个这样的情况吗.

正则表达式本身正在做以下事情:

The caret ^ 字符是否用于表示一行的开始, 这意味着匹配必须从一行的开头开始.

在正则表达式中使用括号时, 与括号内正则表达式部分匹配的字符串部分将被“捕获”(i.e.(存储在临时变量中). 正则表达式中可以有多个括号. 与第一组括号匹配的字符串部分将存储在临时变量中 $1,第二个将存储在 $2, and so on. 在上面的例子中,只有一组括号,所以 $1 会被安排参加那场比赛吗.

我们要查的匹配 \d{4}-\d{2}-\d{2}, 由4位数字和破折号组成, followed by 2 digits, followed by a dash, 最后跟两个数字.

如果找到匹配项,则增加 %counts 按1散列,其中键是匹配的日期. 我们不需要在第一次找到键时初始化值,因为Perl会自动将值设置为0, 所以我们可以简单地用 ++ 操作符为日期增加计数器.

In Perl, you don't have to set a value the first time you use a key in a hash; Perl automatically sets this value to 0, 因此,您可以使用' ++ '操作符来自增.

In the for 表述,我们再一次使用 $_ 通过不显式地为每个循环命名值来特殊变量. 从右边开始:

  • The keys %counts 语句返回来自散列的键的数组. 这些将是我们之前遇到的日期.

  • The sort 函数遍历键数组并使用字符串比较函数 cmp 按升序对数组进行排序.

  • 方法中使用生成的数组 for 循环,其中输出带有日期,后跟一个冒号. 类中访问该值 %counts 日期的哈希值(记录错误的次数),并将其追加,后面加一行.

Common Functions

与大多数现代编程语言一样,散列和数组是Perl编程的重要组成部分. 软件开发人员可能会发现数据存储在一种或另一种结构中, 但可能需要以特定格式检索它. Perl provides very concise and powerful functions to do this retrieval; functions with which experienced Perl developers must be familiar.

这些问题旨在测试应试者对常见Perl函数的熟悉程度. 合格的候选人应该了解常见的功能,如 map and grep. 如果应试者用一个函数解决了问题, 让他们用另一个函数来解.

初级程序员可能会编写代码创建一个单独的数组,然后使用' for '循环将值添加到散列中.

问:给定一个数组,你如何得到一个只有唯一元素的数组?

A:标准技术如下:

my %uniq_hash = map { $_ => 1 } @input;
@uniq = keys %uniq_hash;

给你 @input array, and using map 的值来创建一个散列 @input. 因为散列只允许唯一的键,所以不会有重复的键. 要返回一个数组,只需使用 keys 函数以数组形式获取哈希的键.

Q:编写一些代码,打印' yes ',如果值 3 is in an array.

A:你可以使用与上面相同的程序,然后简单地做:

my %uniq_hash = map { $_ => 1 } @input;
if ($uniq_hash{3}) { print 'yes'; }

这只是检查您创建的散列,看看是否有一个键被设置为3和, if there is, prints “yes”.

也可以达到同样的效果 grep,它循环穿过 @input 数组并根据语句测试每个值,如下所示:

if (grep $_ eq 3, @input) { print 'yes'; }

两种方法都可行, 如果需要检查多个值以避免多次循环遍历数组,那么开发人员最好使用第一种技术. For a one-off check, though, 这不是问题, 在这种情况下,两种方法都是可以接受的.

问:给定一个字符串的键值对的格式的例子 key1=value1&key2=value2&key3=value3你怎么把它变成散列呢?

A:虽然答案只有一行,但这个问题测试的是考生理解文章内容的能力 split 函数以及如何在Perl中将数组转换为哈希值:

my %hash = split /[=&]/, $str;

The function split 接受输入字符串,并在匹配出现的地方将其分割成一个数组(在本例中是等号或&号). 在本例中,结果数组将是 [key1, value1, key2, value2, key3, value3].

Perl将数组转换为散列,方法是将第一个元素作为键,将第二个元素作为值, 然后第三个作为键,第四个作为值,以此类推.

将split函数的结果存储为哈希类型,您将得到以下结果:

{
	key1 => value1,
	key2 => value2,
	key3 => value3
}

做这件事的方法不止一种

Perl以提供多种方法来完成相同的软件开发而自豪, web development, 或者其他编程任务,比如在谷歌的移动操作系统中, Android, 可以在其上安装Perl 5. In front-end projects, Perl以方便使用脚本创建网站或将其部分嵌入WordPress或HTML而闻名, CSS, Node.js. 因此,对候选人的回答要保持开放的心态. 试着理解他们的做法背后的原因.

美国或国外的一些高级候选人可能完全掌握了用Perl进行编程和应用程序开发的简明方法,但为了更容易阅读,他们选择以更详细的方式编写代码. 这些开发者可能, for example, 积极避免使用特殊的$_变量,因为它需要花费时间来弄清楚它实际指的是什么. 因此,它们可能会选择使用命名变量. 另一种选择可能是一个对语言有很强掌握的开发人员, 但是他写的代码是初级开发人员无法读懂的.

通过花时间去理解答案背后的想法, 您将深入了解候选人的思维过程,并找到那些理解他们编写的代码的长期含义的人.

顶级Perl开发人员需求量很大.

Start Hiring