Projects
Mega:23.09
perl-perlfaq
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
_service:tar_scm:perl-perlfaq.spec
Changed
@@ -1,6 +1,6 @@ %global perl_package_name perlfaq Name: perl-perlfaq -Version: 5.20230701 +Version: 5.20230812 Release: 1 Summary: Frequently asked questions about Perl License: (GPL+ or Artistic) and Public Domain @@ -46,6 +46,9 @@ %{_mandir}/man3/* %changelog +* Thu Dec 28 2023 renhongxun <renhongxun@h-partners.com> - 5.20230812-1 +- upgrade version to 5.20230812 + * Tue Jul 18 2023 renhongxun <renhongxun@h-partners.com> - 5.20230701-1 - upgrade version to 5.20230701
View file
_service
Changed
@@ -2,7 +2,7 @@ <service name="tar_scm"> <param name="url">git@gitee.com:src-openeuler/perl-perlfaq.git</param> <param name="scm">git</param> - <param name="revision">openEuler-23.09</param> + <param name="revision">master</param> <param name="exclude">*</param> <param name="extract">*</param> </service>
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/xt
Deleted
-(directory)
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/Changes -> _service:tar_scm:perlfaq-5.20230812.tar.gz/Changes
Changed
@@ -1,5 +1,11 @@ Revision history for perlfaq +5.20230812 2023-08-12 21:30:12Z + * some typo fixes to perlfaq4 (PR #103 and PR#104, brian d foy) + * some wording improvements to perlfaq4 for "Why doesn't & work the way I want it to?" + (PR#104, resolves issue #101, brian d foy) + * some updates to perlfaq2 for perl magazines (PR#105, brian d foy) + 5.20230701 2023-07-01 00:23:37Z * Fix Unicode code point range in glossary (Felipe Gasper, #98) * faq4: recommend fc() for string sorting, rather than lc() (brian d foy,
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/META.json -> _service:tar_scm:perlfaq-5.20230812.tar.gz/META.json
Changed
@@ -75,10 +75,10 @@ }, "x_IRC" : "irc://irc.perl.org/#perl-faq" }, - "version" : "5.20230701", + "version" : "5.20230812", "x_Dist_Zilla" : { "perl" : { - "version" : "5.037011" + "version" : "5.038000" }, "plugins" : { @@ -460,7 +460,7 @@ "branch" : null, "changelog" : "Changes", "signed" : 0, - "tag" : "v5.20230701", + "tag" : "v5.20230812", "tag_format" : "v%V", "tag_message" : "v%V" }, @@ -660,8 +660,8 @@ "tina <forum@s05.tinita.de>", "Tom Molesworth <tom@binary.com>" , - "x_generated_by_perl" : "v5.37.11", - "x_serialization_backend" : "Cpanel::JSON::XS version 4.36", + "x_generated_by_perl" : "v5.38.0", + "x_serialization_backend" : "Cpanel::JSON::XS version 4.37", "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later" }
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/META.yml -> _service:tar_scm:perlfaq-5.20230812.tar.gz/META.yml
Changed
@@ -33,10 +33,10 @@ bugtracker: https://github.com/perl-doc-cats/perlfaq/issues homepage: https://metacpan.org/release/perlfaq repository: https://github.com/perl-doc-cats/perlfaq.git -version: '5.20230701' +version: '5.20230812' x_Dist_Zilla: perl: - version: '5.037011' + version: '5.038000' plugins: - class: Dist::Zilla::Plugin::AutoVersion @@ -326,7 +326,7 @@ branch: ~ changelog: Changes signed: 0 - tag: v5.20230701 + tag: v5.20230812 tag_format: v%V tag_message: v%V Dist::Zilla::Role::Git::Repo: @@ -487,6 +487,6 @@ - 'Smylers <Smylers@stripey.com>' - 'tina <forum@s05.tinita.de>' - 'Tom Molesworth <tom@binary.com>' -x_generated_by_perl: v5.37.11 +x_generated_by_perl: v5.38.0 x_serialization_backend: 'YAML::Tiny version 1.74' x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/Makefile.PL -> _service:tar_scm:perlfaq-5.20230812.tar.gz/Makefile.PL
Changed
@@ -23,7 +23,7 @@ "IPC::Open3" => 0, "Test::More" => 0 }, - "VERSION" => "5.20230701", + "VERSION" => "5.20230812", "test" => { "TESTS" => "t/*.t" }
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/README -> _service:tar_scm:perlfaq-5.20230812.tar.gz/README
Changed
@@ -1,5 +1,5 @@ This archive contains the distribution perlfaq, -version 5.20230701: +version 5.20230812: Frequently asked questions about Perl
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq.pm -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq.pm
Changed
@@ -2,6 +2,6 @@ use warnings; package perlfaq; -our $VERSION = '5.20230701'; +our $VERSION = '5.20230812'; 1;
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq.pod
Changed
@@ -4,7 +4,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq1.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq1.pod
Changed
@@ -4,7 +4,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq2.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq2.pod
Changed
@@ -1,10 +1,14 @@ +=pod + +=encoding UTF-8 + =head1 NAME perlfaq2 - Obtaining and Learning about Perl =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION @@ -172,12 +176,16 @@ =head2 Which magazines have Perl content? -There's also I<$foo Magazin>, a German magazine dedicated to Perl, at -( L<http://www.foo-magazin.de> ). The I<Perl-Zeitung> is another -German-speaking magazine for Perl beginners (see -L<http://perl-zeitung.at.tf> ). +There are no current magazines that focus on Perl, although you sometimes +will find Perl content in more general interest programming titles. + +In the distant past, there have been a few Perl magazines. The first was I<The Perl +Journal>, published by Jon Orwant. After that, there was I<The Perl Review>, +published by brian d foy, and I<$foo Magazin>, published by Renée Bäcker +(L<http://www.foo-magazin.de>). -Several Unix/Linux related magazines frequently include articles on Perl. +The closest you might find today is Perl Weekly, (L<https://perlweekly.com>), +an online newsletter with a magazine-like format. =head2 Which Perl blogs should I read?
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq3.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq3.pod
Changed
@@ -4,7 +4,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq4.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq4.pod
Changed
@@ -4,7 +4,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION @@ -277,32 +277,63 @@ =head2 Why doesn't & work the way I want it to? -The behavior of binary arithmetic operators depends on whether they're -used on numbers or strings. The operators treat a string as a series -of bits and work with that (the string C<"3"> is the bit pattern -C<00110011>). The operators work with the binary form of a number -(the number C<3> is treated as the bit pattern C<00000011>). +Perl's C<&> bitwise operator works on both numbers and strings, +sometimes producing surprising results when you expected a number +but received a string. You probably expected perl to automatically +convert the operands to numbers like the mathematical operators would. +Instead, perl treats string operands as bitvectors. -So, saying C<11 & 3> performs the "and" operation on numbers (yielding -C<3>). Saying C<"11" & "3"> performs the "and" operation on strings -(yielding C<"1">). +Consider the bitwise difference between the number 3 and the bitvector +represented by "3". A number has the bit pattern for its magnitude. The +number 3 is 0b11 (a 2 and a 1). The bitvector has the bit pattern that +is the ordinal value for each octet, and that value is unrelated to any +numeric value that the digit represents. The character "3" is the +bitvector 0b0011_0011. -Most problems with C<&> and C<|> arise because the programmer thinks -they have a number but really it's a string or vice versa. To avoid this, -stringify the arguments explicitly (using C<""> or C<qq()>) or convert them -to numbers explicitly (using C<0+$arg>). The rest arise because -the programmer says: +These operations have different results even though you might think they +look like the same "number": - if ("\020\020" & "\101\101") { - # ... - } + 11 & 3; # 0b0000_1011 & 0b0000_0011 + # -> 0b0000_0011 (number 3) + "11" & "3"; # 0b0011_0001_0011_0001 & 0b0011_0011 + # -> 0b0011_0001 (ASCII char "1") -but a string consisting of two null bytes (the result of C<"\020\020" -& "\101\101">) is not a false value in Perl. You need: +Note that if any operand has a numeric value, perl uses numeric +semantics (although you should not count on this): - if ( ("\020\020" & "\101\101") !~ /^\000/) { - # ... - } + my($i, $j) = ( 11, 3 ); # $i & $j # 11 & 3 -> 3 + my($i, $j) = ("11", 3 ); # $i & $j # 11 & 3 -> 3 + my($i, $j) = ("11", "3"); # $i & $j # "11" & "3" -> 1 + +Remember that a perl scalar can have both string and numeric values at +the same time. A value that starts as a string and has never encountered +a numeric operation has no numeric value yet. Perl does this to save +time and work so it doesn't have to decide a numeric value for a scalar +it might never use as a number. In that case, string semantics wins. But, +if there is a numeric value already, numeric semantics win. Force perl +to compute the numeric value by adding 0: + + my($i, $j) = ("11", "3"); $j += 0 # $i & $j # "11" & 3 -> 3 + +However, this is not a documented feature, or as L<perlop> says, it "is not +well defined". One way to fix ensure numeric semantics is to explicitly +convert both of values to numbers: + + (0+$i) & (0+$j) + +To fix this annoyance, Perl v5.22 separated the string and number +behavior. The C<bitwise> feature introduced four new operators that +would work with only string semantics: C<&.>, C<|.>, C<^.>, and C<~.>. +The original operators, C<&>, C<|>, C<^>, and C<~>, would then apply +only numeric semantics. + +Enable this feature explicitly with L<feature>: + + use feature qw(bitwise); + +Or, as of v5.28, require the minimum version of perl with C<use>: + + use v5.28; # bitwise feature for free =head2 How do I multiply matrices? @@ -432,7 +463,7 @@ a time in epoch seconds for the argument to C<localtime>. use POSIX qw/mktime strftime/; - my $week_of_year = strftime "%W", + my $week_of_year = strftime "%j", localtime( mktime( 0, 0, 0, 18, 11, 87 ) ); You can also use L<Time::Piece>, which comes with Perl and provides a @@ -1365,8 +1396,8 @@ Since you're assigning to a scalar, the righthand side is in scalar context. The comma operator (yes, it's an operator!) in scalar context evaluates its lefthand side, throws away the result, and -evaluates it's righthand side and returns the result. In effect, -that list-lookalike assigns to C<$scalar> it's rightmost value. Many +evaluates its righthand side and returns the result. In effect, +that list-lookalike assigns to C<$scalar> its rightmost value. Many people mess this up because they choose a list-lookalike whose last element is also the count they expect: @@ -2172,7 +2203,7 @@ L<perlfaq4>, but a bit simpler in the common cases. You can use the C<keys()> built-in function in scalar context to find out -have many entries you have in a hash: +how many entries you have in a hash: my $key_count = keys %hash; # must be scalar context!
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq5.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq5.pod
Changed
@@ -4,7 +4,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq6.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq6.pod
Changed
@@ -4,7 +4,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq7.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq7.pod
Changed
@@ -4,7 +4,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq8.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq8.pod
Changed
@@ -4,7 +4,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlfaq9.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlfaq9.pod
Changed
@@ -4,7 +4,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/lib/perlglossary.pod -> _service:tar_scm:perlfaq-5.20230812.tar.gz/lib/perlglossary.pod
Changed
@@ -7,7 +7,7 @@ =head1 VERSION -version 5.20230701 +version 5.20230812 =head1 DESCRIPTION
View file
_service:tar_scm:perlfaq-5.20230701.tar.gz/xt/release/changes_has_content.t -> _service:tar_scm:perlfaq-5.20230812.tar.gz/xt/release/changes_has_content.t
Changed
@@ -2,7 +2,7 @@ note 'Checking Changes'; my $changes_file = 'Changes'; -my $newver = '5.20230701'; +my $newver = '5.20230812'; my $trial_token = '-TRIAL'; my $encoding = 'UTF-8';
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2