in reply to sprintf("%ss", ...)
Here's one way:
my $message = sprintf('%d %s been loaded', $v, $v == 1 ? 'volume h +as' : 'volumes have')
Here's a demonstration:
C:\>perl -E "say sprintf('%d %s been loaded', $_, $_ == 1 ? 'volume ha +s' : 'volumes have') for 0 .. 9" 0 volumes have been loaded 1 volume has been loaded 2 volumes have been loaded 3 volumes have been loaded 4 volumes have been loaded 5 volumes have been loaded 6 volumes have been loaded 7 volumes have been loaded 8 volumes have been loaded 9 volumes have been loaded C:\>
Alternatively (simpler):
my $message = sprintf 'Volumes loaded: %d', $v;
In Section
Seekers of Perl Wisdom