"without using any other array or built-in function"
yeah, I had no idea how to get the number of elements without the use of at least one build-in option.
Also, the no use of array is tricky for me.
I think I will use these questions that other asks to practice my code but sometimes it is difficult to understand what a piece of code without a little help with comments.
but then again, I am learning so everything is a little tricky...hmm, sometimes I think I should have picked to learn the piccolo over the summer ;-) | [reply] |
| [reply] |
Here's a couple very common example use cases for shift, unshift, push. The @INC array is special in Perl, and is used to store directories where libraries are housed. To add a custom location, it's common to unshift @INC
The most common use of shift is extracting parameters from the special @_ array within a subroutine. @_ in Perl is the default array, and is implicitly used to store all parameters going into a subroutine. In the shift line I don't say shift @_;, because the @_ is implicit.
In the last example, I use push to add elements to a new array based on contents from a different array.
#!/usr/bin/perl
# unshift
print "$_\n" for @INC;
unshift @INC, '/home/steve/my_lib_dir';
print "$_\n" for @INC;
# shift
parameter("Hello, world!");
sub parameter {
my $param = shift;
print "$param\n";
}
# push
my @numbers = qw(1 2 3 4 5);
my @totals;
for my $elem (@numbers){
push @totals, $elem + 5;
}
print "$_\n" for @totals;
-stevieb | [reply] [d/l] [select] |