Everyone's problems are more interesting than mine. As long as I can write idiopathically. Idiomatically, I mean. I meant idiomatically.
use strict; # DO NOT OMIT. use warnings; # DITTO. my $dir = shift || die "Gimme a dir full of text files!\n"; my $random_texter = build_texter(dir => $dir); print $random_texter->(); exit; sub build_texter { require List::Util; require Path::Tiny; require Carp; my %arg = ( dir => "YOU FORGOT TO SET THE DIR!", suffix => "", # e.g., .txt @_ ); my $dir = Path::Tiny::path($arg{dir}); -d $dir && -r _ || Carp::croak("$dir is not a readable directory") +; my @files = grep /\Q$arg{suffix}\E\z/, grep -f, $dir->children; Carp::croak("There are no matching files in $dir") unless @files; sub { [ List::Util::shuffle( @files ) ]->[0]->slurp }; }
In reply to Re: Show different text based on random number
by Your Mother
in thread Show different text based on random number
by htmanning
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |