.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Listify 3pm" .TH Listify 3pm "2022-10-13" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Scalar::Listify \- produces an array(ref)? from a scalar value or array ref. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Scalar::Listify; \& \& $text_scalar = \*(Aqtext\*(Aq; \& $aref_scalar = [ 1.. 5 ]; \& \& print join \*(Aq:\*(Aq, listify $text_scalar; # => text \& print join \*(Aq:\*(Aq, listify $aref_scalar; # => 1:2:3:4:5 .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" A lot of Perl code ends up with scalars having either a single scalar value or a reference to an array of scalar values. In order to handle the two conditions, one must check for what is in the scalar value before getting on with one's task. Ie: .PP .Vb 2 \& $text_scalar = \*(Aqtext\*(Aq; \& $aref_scalar = [ 1.. 5 ]; \& \& print ref($text_scalar) ? (join \*(Aq:\*(Aq, @$text_scalar) : $text_scalar; .Ve .PP And this module is designed to address just that! .SS "\s-1EXPORT\s0" .IX Subsection "EXPORT" \&\fBlistify()\fR \- listify takes a scalar as an argument and returns the value of the scalar in a format useable in list contexts. .PP \&\fBlistify_aref()\fR \- returns [ listify (@_) ] .SH "AUTHOR" .IX Header "AUTHOR" T. M. Brannon, .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 1999\-present by Terrence Brannon. .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBperl\fR\|(1).