GF: Thank you for short intro to perl modules
I am learning to use perl modules with a small example. Please go through below example, I have a couple of questions at the end
test2.pl is a script that uses perl module test.pm
Contents of test.pl
#!/usr/bin/perl use strict; use warnings; use test; my @gaga = ("paras", "kansas"); my ($x, $y) = test::test(@gaga); print "$x\n$y\n";
contents of test.pm
package test; sub test { my $tag = $_[0]; $tag =~ s/p/n/; my $bag = $_[1]; $bag =~ s/k/p/; return $tag, $bag } 1;
output
napas panas
above script and module work very well. What I don't understand is..
Query-1: What is function of 1 at the end of test.pm ?
To see whether module works without a subroutine, I modified test.pm, by removing subroutine (see code below)
Contents of test2.pl
#!/usr/bin/perl use strict; use warnings; use test; my @gaga = ("paras", "kansas"); my ($x, $y) = test(@gaga); print "$x\n$y\n";
contents of test.pm
package test; my $tag = $_[0]; $tag =~ s/p/n/; my $bag = $_[1]; $bag =~ s/k/p/; return $tag, $bag 1;
Expected result is...
napas panas
But error message reads...
test.pm did not return a true value at test2.pl line 4. BEGIN failed--compilation aborted at test2.pl line 4.
Query-2: Is it must to have a subroutine inside a module ?
In reply to Re^2: How to give input and collect output of a perl script using another perl script
by chakreey
in thread How to give input and collect output of a perl script using another perl script
by chakreey
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |