On Wed, Sep 29, 2010 at 2:31 PM, Roman Divacky <rdivacky_at_freebsd.org> wrote: > On Wed, Sep 29, 2010 at 11:56:59AM -0400, Derek Tattersall wrote: >> * Dimitry Andric <dim_at_freebsd.org> [100929 08:55]: >> > On 2010-09-29 13:23, Renato Botelho wrote: >> > > #!/usr/bin/perl >> > > >> > > use File::Temp; >> > > >> > > my ( $fh, $filename ) = File::Temp::tempfile(); >> > > print "$filename\n"; >> > >> > For me it works perfectly, though I am using perl 5.10: >> > >> > $ cat foo.pl >> > #!/usr/bin/perl >> > >> > use File::Temp; >> > >> > my ( $fh, $filename ) = File::Temp::tempfile(); >> > print "$filename\n"; >> > $ perl -v >> > >> > This is perl, v5.10.1 (*) built for i386-freebsd-64int >> > >> > Copyright 1987-2009, Larry Wall >> > >> > Perl may be copied only under the terms of either the Artistic License or the >> > GNU General Public License, which may be found in the Perl 5 source kit. >> > >> > Complete documentation for Perl, including FAQ lists, should be found on >> > this system using "man perl" or "perldoc perl". If you have access to the >> > Internet, point your browser at http://www.perl.org/, the Perl Home Page. >> > >> > $ perl foo.pl >> > /tmp/tv25CPnWhF >> > $ perl foo.pl >> > /tmp/L2UJQ5_JJs >> > $ perl foo.pl >> > /tmp/6ynQYvWIc1 >> > $ perl foo.pl >> > /tmp/Tdpf7PKBMg >> > $ perl foo.pl >> > /tmp/76ir2i1ici >> > $ perl foo.pl >> > /tmp/LhfD0eZgd8 >> > >> > I'll try building perl 5.12 and try it again. >> > >> > Btw, I assume you did *not* rebuild perl with clang, so your perl is >> > still compiled with gcc? >> > _______________________________________________ >> > freebsd-current_at_freebsd.org mailing list >> > http://lists.freebsd.org/mailman/listinfo/freebsd-current >> > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >> I built a test case using perl 5.12 and demonstrated that calling int(rand()) >> in perl returns NAN, as does calling rand() by itself. A "C" program >> that calls libc's rand() does return differing integers. The perl >> documentation claims that perl's rand() calls "C"s rand() and srand() if >> necessary. I think this effectively demonstrates that the problem lies >> with the perl function rand() and it's interface to libc's rand() as >> provided by clang. >> >> On a recent stable system, perl's mktemp works fine. The only real >> difference is that libc on stable is built with gcc and libc on current >> is built with clang. > > what does this show with clang libc? > > perl -e 'print int(rand(60)) . " \n" foreach (1 .. 10)' > > I guess it returns all 0, as the $CHAR[0] is 'A', can you test that? > root_at_botelhor:/usr/src/lib/libc# perl -e 'print int(rand(60)) . " \n" foreach (1 .. 10)' nan nan nan nan nan nan nan nan nan nan -- Renato BotelhoReceived on Wed Sep 29 2010 - 15:41:42 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:07 UTC