On Fri, Jan 09, 2009 at 05:52:45PM -0500, Chas. Owens wrote:
<snip>
> You seem to be under the impression that the argument to
> Digest::MD5::md5_hex is a file name. The argument is a scalar holding
> the data to perform md5 on. So Digest::MD5::md5_hex("foo") will give
> you the MD5 of the data "foo". When you say
> Digest::MD5->md5_hex("foo") you are really saying
> Digest::MD5::md5_hex("Digest::MD5", "foo") so you will get the MD5 of
> the string "Digest::MD5" concatenated with the string "foo".
When you said, "Module::method('Module', $arg)" I saw the second 'Module'
as file not string.
I guess I've still got a lot to learn.
I see that
Digest::MD5->md5_hex()
"Digest::MD5"->md5_hex()
Digest::MD5::md5_hex("Digest::MD5") all return the same result.
"Mud"->md5_hex() is an error.
But after I read all the references in the index of 'Programming Perl'
about '->' the arrow operator I'm no where nearer to understanding
what's going on. At least thanks to your help I know what's going on
even if I don't yet understand it. It's been long enough since I picked
up a new language to have forgotten this particular frustration.
Cest la vie.
<snip>
> seek DATA, 0, 0;
> my $data = join '', <DATA>;
This is interesting.
The 'join' causes the whole file to be slurped in by forcing list context?
Thanks for your help,
Mike
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/