![]() |
![]()
| ![]() |
![]()
NAMEData::Sah::Filter::perl::Str::check_oneline - Check that string does not contain more than one line VERSIONThis document describes version 0.025 of Data::Sah::Filter::perl::Str::check_oneline (from Perl distribution Data-Sah-Filter), released on 2024-07-17. SYNOPSISUsing in Sah schema's "prefilters" (or "postfilters") clause["str","prefilters",[["Str::check_oneline"]]] Using with Data::Sah:use Data::Sah qw(gen_validator); my $schema = ["str","prefilters",[["Str::check_oneline"]]]; my $validator = gen_validator($schema); if ($validator->($some_data)) { print 'Valid!' } Using with Data::Sah:Filter directly:use Data::Sah::Filter qw(gen_filter); my $filter = gen_filter([["Str::check_oneline"]]); # $errmsg will be empty/undef when filtering succeeds my ($errmsg, $filtered_value) = $filter->($some_data); Sample data and filtering results"" # valid, unchanged "foo" # valid, unchanged "foo bar\tbazfoo bar\tbazfoo bar\tbazfoo bar\tbazfoo bar\tbazfoo bar\tbazfoo bar\tbazfoo bar\tbazfoo bar\tbazfoo bar\tbaz" # valid, unchanged (Long line, spaces and tabs are okay as long as it does not contain newline) "foo\n" # INVALID (String contains newline), becomes undef (Containing newline at the end counts as having more than oneline; use the Str::rtrim or Str::rtrim_newline if you want to remove trailing newline) "foo\nbar" # INVALID (String contains newline), becomes undef "\n" # INVALID (String contains newline), becomes undef DESCRIPTIONYou can also use the Sah clause "match" to achieve the same: # a schema, using 'match' clause and regex to match string that does not contain a newline ["str", {"match" => qr/\A(?!.*\R).*\z/}] # a schema, using reversed 'match' clause and regex to match newline ["str", {"!match" => '\\R'}] HOMEPAGEPlease visit the project's homepage at <https://metacpan.org/release/Data-Sah-Filter>. SOURCESource repository is at <https://github.com/perlancar/perl-Data-Sah-Filter>. SEE ALSORelated filterscheck_lowercase. uppercase to convert string to uppercase. AUTHORperlancar <perlancar@cpan.org> CONTRIBUTINGTo contribute, you can send patches by email/via RT, or send pull requests on GitHub. Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via: % prove -l If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me. COPYRIGHT AND LICENSEThis software is copyright (c) 2024, 2023, 2022, 2020 by perlancar <perlancar@cpan.org>. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. BUGSPlease report any bugs or feature requests on the bugtracker website <https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Sah-Filter> When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
|