All the arguments are in the array @_. In the provided code, the function only has one argument, so it can be referenced as $_[0]. A convenient way of assigning names to your arguments is
sub parse_header {
my ($header) = @_;
do this and thia
}
but some people prefer
sub parse_header {
my $header = shift;
do this and thia
}
Inside a function, shift with no arguments is the same as shift(@_).
If you had more than one argument, the above would look as follows:
sub three_args_func {
my ($arg0, $arg1, $arg2) = @_;
do this and thia
}
sub three_args_func {
my $arg0 = shift;
my $arg1 = shift;
my $arg2 = shift;
do this and thia
}
Reference: perlsub |