有一次,我在考虑如何在 Perl 中创建一个包(或类)以实现代码的可重用性。我有 C++ 背景,无法理解 Perl 子例程和包的工作原理。所以,我在 Perl 中创建了一个 Stack 数据结构(它实际上只是一个具有 LIFO 方法的数组),每次我想打印它时都需要我写下循环(这是非常低效的)
@_ = (1, 8, 14, 45);
push(@_, 69);
push(@_, 55);
push(@_, 65536);
push(@_, 4294967296);
print "Print without newline: ";
$size = @_;
for my $i(1 .. ($size-1))
{
print $_[$i]." ";
}
print "Print with newline: ";
for my $i(1 .. ($size-1))
{
say scalar $_[$i];
}
pop(@_);
pop(@_);
pop(@_);
print "Print without newline: ";
# HERE WE GO AGAIN
$size = @_;
for my $i(1 .. …Run Code Online (Sandbox Code Playgroud)